TPTP Problem File: ITP141^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP141^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer PHoareTotal problem prob_135__3259094_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : PHoareTotal/prob_135__3259094_1 [Des21]

% Status   : Theorem
% Rating   : 0.50 v8.2.0, 0.62 v8.1.0, 0.55 v7.5.0
% Syntax   : Number of formulae    :  486 ( 197 unt; 129 typ;   0 def)
%            Number of atoms       :  965 ( 395 equ;   0 cnn)
%            Maximal formula atoms :   21 (   2 avg)
%            Number of connectives : 2845 ( 189   ~;  21   |; 103   &;2146   @)
%                                         (   0 <=>; 386  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (   7 avg)
%            Number of types       :   21 (  20 usr)
%            Number of type conns  :  488 ( 488   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  112 ( 109 usr;  17 con; 0-4 aty)
%            Number of variables   : 1075 ( 140   ^; 895   !;  40   ?;1075   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:32:35.907
%------------------------------------------------------------------------------
% Could-be-implicit typings (20)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J_J,type,
    set_Pr1702239303tate_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    produc1307154919tate_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    set_Pr1590995257tate_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J_J,type,
    set_Pr778812871_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    produc696469763tate_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr1490359111at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    produc1390548711_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc842455143at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    set_Pr1740974983tate_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J,type,
    produc204914599tate_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    set_Pr795498619_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr1986765409at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    produc1115495963_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    product_prod_nat_nat: $tType ).

thf(ty_n_t__Set__Oset_It__PLang__Ostate_J,type,
    set_state: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__PLang__Ostate,type,
    state: $tType ).

thf(ty_n_t__PLang__Ocom,type,
    com: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (109)
thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Order__Relation_OaboveS_001t__Nat__Onat,type,
    order_aboveS_nat: set_Pr1986765409at_nat > nat > set_nat ).

thf(sy_c_Order__Relation_OaboveS_001t__PLang__Ostate,type,
    order_aboveS_state: set_Pr795498619_state > state > set_state ).

thf(sy_c_Order__Relation_OaboveS_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    order_1121016664tate_o: set_Pr1702239303tate_o > produc696469763tate_o > set_Pr1590995257tate_o ).

thf(sy_c_Order__Relation_OaboveS_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    order_665764460at_nat: set_Pr1490359111at_nat > product_prod_nat_nat > set_Pr1986765409at_nat ).

thf(sy_c_Order__Relation_OaboveS_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    order_2027321734_state: set_Pr778812871_state > produc1115495963_state > set_Pr795498619_state ).

thf(sy_c_Order__Relation_Olinear__order__on_001t__Nat__Onat,type,
    order_130026331on_nat: set_nat > set_Pr1986765409at_nat > $o ).

thf(sy_c_Order__Relation_Olinear__order__on_001t__PLang__Ostate,type,
    order_286167592_state: set_state > set_Pr795498619_state > $o ).

thf(sy_c_Order__Relation_Olinear__order__on_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    order_50454158tate_o: set_Pr1590995257tate_o > set_Pr1702239303tate_o > $o ).

thf(sy_c_Order__Relation_Olinear__order__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    order_721919926at_nat: set_Pr1986765409at_nat > set_Pr1490359111at_nat > $o ).

thf(sy_c_Order__Relation_Olinear__order__on_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    order_178668240_state: set_Pr795498619_state > set_Pr778812871_state > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_M_062_It__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_M_Eo_J_J,type,
    bot_bo2130564770te_o_o: ( a > state > $o ) > produc204914599tate_o > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J,type,
    bot_bot_nat_nat_o: nat > nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__PLang__Ocom_M_062_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_M_Eo_J_J,type,
    bot_bo935656620te_o_o: com > ( a > state > $o ) > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__PLang__Ostate_M_062_It__PLang__Ostate_M_Eo_J_J,type,
    bot_bo51534648tate_o: state > state > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_M_Eo_J,type,
    bot_bo250281208te_o_o: produc696469763tate_o > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_Eo_J,type,
    bot_bo513358416_nat_o: product_prod_nat_nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_M_Eo_J,type,
    bot_bo446391478tate_o: produc1115495963_state > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__PLang__Ostate_J,type,
    bot_bot_set_state: set_state ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    bot_bo170732493tate_o: set_Pr1590995257tate_o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    bot_bo2130386637at_nat: set_Pr1986765409at_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    bot_bo1692783091tate_o: set_Pr1740974983tate_o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    bot_bo1625160935_state: set_Pr795498619_state ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J_J,type,
    bot_bo1714653363tate_o: set_Pr1702239303tate_o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    bot_bo34127283at_nat: set_Pr1490359111at_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J_J,type,
    bot_bo1331673139_state: set_Pr778812871_state ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Othoare_001tf__a,type,
    pHoare382919414oare_a: set_Pr1590995257tate_o > ( a > state > $o ) > com > ( a > state > $o ) > $o ).

thf(sy_c_PHoare_Ohoare_001tf__a,type,
    hoare_a: set_Pr1590995257tate_o > ( a > state > $o ) > com > ( a > state > $o ) > $o ).

thf(sy_c_PLang_Obody,type,
    body: com ).

thf(sy_c_PLang_Ocom_OCALL,type,
    call: com ).

thf(sy_c_PLang_Ocom_OSemi,type,
    semi: com > com > com ).

thf(sy_c_PLang_Ocom_OWhile,type,
    while: ( state > $o ) > com > com ).

thf(sy_c_PLang_Oexec,type,
    exec: state > com > state > $o ).

thf(sy_c_PLang_Oexecn,type,
    execn: state > com > nat > state > $o ).

thf(sy_c_PTermi_Otermi,type,
    termi: com > state > $o ).

thf(sy_c_Product__Type_OPair_001_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_001t__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J,type,
    produc33908149tate_o: ( a > state > $o ) > produc204914599tate_o > produc696469763tate_o ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Nat__Onat,type,
    product_Pair_nat_nat: nat > nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_OPair_001t__PLang__Ocom_001_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J,type,
    produc1948644831tate_o: com > ( a > state > $o ) > produc204914599tate_o ).

thf(sy_c_Product__Type_OPair_001t__PLang__Ostate_001t__PLang__Ostate,type,
    produc64584659_state: state > state > produc1115495963_state ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    produc1684562079tate_o: produc696469763tate_o > produc696469763tate_o > produc1307154919tate_o ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc1168807639at_nat: product_prod_nat_nat > product_prod_nat_nat > produc842455143at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    produc1964772951_state: produc1115495963_state > produc1115495963_state > produc1390548711_state ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Nat__Onat_001t__Nat__Onat_001_Eo,type,
    produc385877620_nat_o: ( nat > nat > $o ) > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__PLang__Ostate_001t__PLang__Ostate_001_Eo,type,
    produc938968666tate_o: ( state > state > $o ) > produc1115495963_state > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_001t__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_001_Eo,type,
    produc1271576886te_o_o: ( ( a > state > $o ) > produc204914599tate_o > $o ) > produc696469763tate_o > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001_Eo,type,
    produc949581770_nat_o: ( nat > nat > $o ) > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    produc1610543495tate_o: ( nat > nat > set_Pr1590995257tate_o ) > product_prod_nat_nat > set_Pr1590995257tate_o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1915186323at_nat: ( nat > nat > set_Pr1986765409at_nat ) > product_prod_nat_nat > set_Pr1986765409at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    produc1654445_state: ( nat > nat > set_Pr795498619_state ) > product_prod_nat_nat > set_Pr795498619_state ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__PLang__Ocom_001_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_001_Eo,type,
    produc281270436te_o_o: ( com > ( a > state > $o ) > $o ) > produc204914599tate_o > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__PLang__Ostate_001t__PLang__Ostate_001_Eo,type,
    produc789892016tate_o: ( state > state > $o ) > produc1115495963_state > $o ).

thf(sy_c_Relation_Oirrefl_001t__Nat__Onat,type,
    irrefl_nat: set_Pr1986765409at_nat > $o ).

thf(sy_c_Relation_Orefl__on_001t__Nat__Onat,type,
    refl_on_nat: set_nat > set_Pr1986765409at_nat > $o ).

thf(sy_c_Relation_Orefl__on_001t__PLang__Ostate,type,
    refl_on_state: set_state > set_Pr795498619_state > $o ).

thf(sy_c_Relation_Orefl__on_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    refl_o489021252tate_o: set_Pr1590995257tate_o > set_Pr1702239303tate_o > $o ).

thf(sy_c_Relation_Orefl__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    refl_o1619599232at_nat: set_Pr1986765409at_nat > set_Pr1490359111at_nat > $o ).

thf(sy_c_Relation_Orefl__on_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    refl_o1438232218_state: set_Pr795498619_state > set_Pr778812871_state > $o ).

thf(sy_c_Relation_Ototal__on_001t__Nat__Onat,type,
    total_on_nat: set_nat > set_Pr1986765409at_nat > $o ).

thf(sy_c_Relation_Ototal__on_001t__PLang__Ostate,type,
    total_on_state: set_state > set_Pr795498619_state > $o ).

thf(sy_c_Relation_Ototal__on_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    total_795385983tate_o: set_Pr1590995257tate_o > set_Pr1702239303tate_o > $o ).

thf(sy_c_Relation_Ototal__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    total_1775715973at_nat: set_Pr1986765409at_nat > set_Pr1490359111at_nat > $o ).

thf(sy_c_Relation_Ototal__on_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    total_1316653983_state: set_Pr795498619_state > set_Pr778812871_state > $o ).

thf(sy_c_Relation_Otrans_001t__Nat__Onat,type,
    trans_nat: set_Pr1986765409at_nat > $o ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001t__PLang__Ostate,type,
    collect_state: ( state > $o ) > set_state ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    collec1499596504tate_o: ( produc696469763tate_o > $o ) > set_Pr1590995257tate_o ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    collec7649004at_nat: ( product_prod_nat_nat > $o ) > set_Pr1986765409at_nat ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    collec496201222_state: ( produc1115495963_state > $o ) > set_Pr795498619_state ).

thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > set_nat > set_nat ).

thf(sy_c_Set_Oinsert_001t__PLang__Ostate,type,
    insert_state: state > set_state > set_state ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    insert2053719859tate_o: produc696469763tate_o > set_Pr1590995257tate_o > set_Pr1590995257tate_o ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    insert271595217at_nat: product_prod_nat_nat > set_Pr1986765409at_nat > set_Pr1986765409at_nat ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    insert311944171_state: produc1115495963_state > set_Pr795498619_state > set_Pr795498619_state ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    insert1597128631tate_o: produc1307154919tate_o > set_Pr1702239303tate_o > set_Pr1702239303tate_o ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    insert584009271at_nat: produc842455143at_nat > set_Pr1490359111at_nat > set_Pr1490359111at_nat ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    insert1616594103_state: produc1390548711_state > set_Pr778812871_state > set_Pr778812871_state ).

thf(sy_c_Set_Ois__empty_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    is_emp807847857tate_o: set_Pr1590995257tate_o > $o ).

thf(sy_c_Set_Ois__empty_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    is_emp825011411at_nat: set_Pr1986765409at_nat > $o ).

thf(sy_c_Set_Ois__empty_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    is_emp1062983149_state: set_Pr795498619_state > $o ).

thf(sy_c_Set_Ois__singleton_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    is_sin1547905295tate_o: set_Pr1590995257tate_o > $o ).

thf(sy_c_Set_Ois__singleton_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    is_sin1352690165at_nat: set_Pr1986765409at_nat > $o ).

thf(sy_c_Set_Ois__singleton_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    is_sin1132515087_state: set_Pr795498619_state > $o ).

thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    the_el1569055182tate_o: set_Pr1590995257tate_o > produc696469763tate_o ).

thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    the_el1949240438at_nat: set_Pr1986765409at_nat > product_prod_nat_nat ).

thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    the_el1967402896_state: set_Pr795498619_state > produc1115495963_state ).

thf(sy_c_Wellfounded_Oless__than,type,
    less_than: set_Pr1986765409at_nat ).

thf(sy_c_Wellfounded_Omeasure_001t__Nat__Onat,type,
    measure_nat: ( nat > nat ) > set_Pr1986765409at_nat ).

thf(sy_c_Wellfounded_Omeasure_001t__PLang__Ostate,type,
    measure_state: ( state > nat ) > set_Pr795498619_state ).

thf(sy_c_Wellfounded_Opred__nat,type,
    pred_nat: set_Pr1986765409at_nat ).

thf(sy_c_Wellfounded_Owf_001t__Nat__Onat,type,
    wf_nat: set_Pr1986765409at_nat > $o ).

thf(sy_c_Wellfounded_Owf_001t__PLang__Ostate,type,
    wf_state: set_Pr795498619_state > $o ).

thf(sy_c_Wellfounded_Owf_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    wf_Pro309705690tate_o: set_Pr1702239303tate_o > $o ).

thf(sy_c_Wellfounded_Owf_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    wf_Pro745352042at_nat: set_Pr1490359111at_nat > $o ).

thf(sy_c_Wellfounded_Owf_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    wf_Pro1783588484_state: set_Pr778812871_state > $o ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__PLang__Ostate,type,
    member_state: state > set_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J,type,
    member1838112666tate_o: produc696469763tate_o > set_Pr1590995257tate_o > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member701585322at_nat: product_prod_nat_nat > set_Pr1986765409at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J,type,
    member221067728tate_o: produc204914599tate_o > set_Pr1740974983tate_o > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    member1389040324_state: produc1115495963_state > set_Pr795498619_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_Mt__Product____Type__Oprod_It__PLang__Ocom_M_062_Itf__a_M_062_It__PLang__Ostate_M_Eo_J_J_J_J_J,type,
    member1629320336tate_o: produc1307154919tate_o > set_Pr1702239303tate_o > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member2027625872at_nat: produc842455143at_nat > set_Pr1490359111at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    member768948240_state: produc1390548711_state > set_Pr778812871_state > $o ).

thf(sy_v_Pa,type,
    pa: a > state > $o ).

thf(sy_v_Qa,type,
    qa: a > state > $o ).

thf(sy_v_r,type,
    r: set_Pr795498619_state ).

thf(sy_v_x,type,
    x: state ).

% Relevant facts (354)
thf(fact_0_thoare_OAsm,axiom,
    ! [P: a > state > $o,Q: a > state > $o] : ( pHoare382919414oare_a @ ( insert2053719859tate_o @ ( produc33908149tate_o @ P @ ( produc1948644831tate_o @ call @ Q ) ) @ bot_bo170732493tate_o ) @ P @ call @ Q ) ).

% thoare.Asm
thf(fact_1_weaken__post,axiom,
    ! [C: set_Pr1590995257tate_o,P: a > state > $o,C2: com,Q: a > state > $o,Q2: a > state > $o] :
      ( ( pHoare382919414oare_a @ C @ P @ C2 @ Q )
     => ( ! [Z: a,S: state] :
            ( ( Q @ Z @ S )
           => ( Q2 @ Z @ S ) )
       => ( pHoare382919414oare_a @ C @ P @ C2 @ Q2 ) ) ) ).

% weaken_post
thf(fact_2_thoare_OConseq,axiom,
    ! [C: set_Pr1590995257tate_o,P2: a > state > $o,C2: com,Q2: a > state > $o,P: a > state > $o,Q: a > state > $o] :
      ( ( pHoare382919414oare_a @ C @ P2 @ C2 @ Q2 )
     => ( ( ! [S: state,T: state] :
              ( ! [Z2: a] :
                  ( ( P2 @ Z2 @ S )
                 => ( Q2 @ Z2 @ T ) )
             => ! [Z: a] :
                  ( ( P @ Z @ S )
                 => ( Q @ Z @ T ) ) )
          & ! [S: state] :
              ( ? [Z: a] : ( P @ Z @ S )
             => ? [Z2: a] : ( P2 @ Z2 @ S ) ) )
       => ( pHoare382919414oare_a @ C @ P @ C2 @ Q ) ) ) ).

% thoare.Conseq
thf(fact_3_PHoareTotal__Mirabelle__ynemugpbor_Ostrengthen__pre,axiom,
    ! [P2: a > state > $o,P: a > state > $o,C: set_Pr1590995257tate_o,C2: com,Q: a > state > $o] :
      ( ! [Z: a,S: state] :
          ( ( P2 @ Z @ S )
         => ( P @ Z @ S ) )
     => ( ( pHoare382919414oare_a @ C @ P @ C2 @ Q )
       => ( pHoare382919414oare_a @ C @ P2 @ C2 @ Q ) ) ) ).

% PHoareTotal_Mirabelle_ynemugpbor.strengthen_pre
thf(fact_4_singleton__conv,axiom,
    ! [A: produc1115495963_state] :
      ( ( collec496201222_state
        @ ^ [X: produc1115495963_state] : X = A )
      = ( insert311944171_state @ A @ bot_bo1625160935_state ) ) ).

% singleton_conv
thf(fact_5_singleton__conv,axiom,
    ! [A: product_prod_nat_nat] :
      ( ( collec7649004at_nat
        @ ^ [X: product_prod_nat_nat] : X = A )
      = ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) ) ).

% singleton_conv
thf(fact_6_singleton__conv,axiom,
    ! [A: produc696469763tate_o] :
      ( ( collec1499596504tate_o
        @ ^ [X: produc696469763tate_o] : X = A )
      = ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) ) ).

% singleton_conv
thf(fact_7_singleton__conv2,axiom,
    ! [A: produc1115495963_state] :
      ( ( collec496201222_state
        @ ( ^ [Y: produc1115495963_state,Z3: produc1115495963_state] : Y = Z3
          @ A ) )
      = ( insert311944171_state @ A @ bot_bo1625160935_state ) ) ).

% singleton_conv2
thf(fact_8_singleton__conv2,axiom,
    ! [A: product_prod_nat_nat] :
      ( ( collec7649004at_nat
        @ ( ^ [Y: product_prod_nat_nat,Z3: product_prod_nat_nat] : Y = Z3
          @ A ) )
      = ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) ) ).

% singleton_conv2
thf(fact_9_singleton__conv2,axiom,
    ! [A: produc696469763tate_o] :
      ( ( collec1499596504tate_o
        @ ( ^ [Y: produc696469763tate_o,Z3: produc696469763tate_o] : Y = Z3
          @ A ) )
      = ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) ) ).

% singleton_conv2
thf(fact_10_singletonI,axiom,
    ! [A: produc1115495963_state] : ( member1389040324_state @ A @ ( insert311944171_state @ A @ bot_bo1625160935_state ) ) ).

% singletonI
thf(fact_11_singletonI,axiom,
    ! [A: product_prod_nat_nat] : ( member701585322at_nat @ A @ ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) ) ).

% singletonI
thf(fact_12_singletonI,axiom,
    ! [A: produc696469763tate_o] : ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) ) ).

% singletonI
thf(fact_13_termi_Ointros_I7_J,axiom,
    ! [S2: state] :
      ( ( termi @ body @ S2 )
     => ( termi @ call @ S2 ) ) ).

% termi.intros(7)
thf(fact_14_exec_Ointros_I7_J,axiom,
    ! [S2: state,T2: state] :
      ( ( exec @ S2 @ body @ T2 )
     => ( exec @ S2 @ call @ T2 ) ) ).

% exec.intros(7)
thf(fact_15_thoare_OCall,axiom,
    ! [R: set_Pr795498619_state,P: a > state > $o,Q: a > state > $o] :
      ( ( wf_state @ R )
     => ( ! [S3: state] :
            ( pHoare382919414oare_a
            @ ( insert2053719859tate_o
              @ ( produc33908149tate_o
                @ ^ [Z4: a,S4: state] :
                    ( ( P @ Z4 @ S4 )
                    & ( member1389040324_state @ ( produc64584659_state @ S4 @ S3 ) @ R ) )
                @ ( produc1948644831tate_o @ call @ Q ) )
              @ bot_bo170732493tate_o )
            @ ^ [Z4: a,S4: state] :
                ( ( P @ Z4 @ S4 )
                & ( S4 = S3 ) )
            @ body
            @ Q )
       => ( pHoare382919414oare_a @ bot_bo170732493tate_o @ P @ call @ Q ) ) ) ).

% thoare.Call
thf(fact_16_insertCI,axiom,
    ! [A: produc1115495963_state,B: set_Pr795498619_state,B2: produc1115495963_state] :
      ( ( ~ ( member1389040324_state @ A @ B )
       => ( A = B2 ) )
     => ( member1389040324_state @ A @ ( insert311944171_state @ B2 @ B ) ) ) ).

% insertCI
thf(fact_17_insertCI,axiom,
    ! [A: product_prod_nat_nat,B: set_Pr1986765409at_nat,B2: product_prod_nat_nat] :
      ( ( ~ ( member701585322at_nat @ A @ B )
       => ( A = B2 ) )
     => ( member701585322at_nat @ A @ ( insert271595217at_nat @ B2 @ B ) ) ) ).

% insertCI
thf(fact_18_insertCI,axiom,
    ! [A: produc696469763tate_o,B: set_Pr1590995257tate_o,B2: produc696469763tate_o] :
      ( ( ~ ( member1838112666tate_o @ A @ B )
       => ( A = B2 ) )
     => ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ B2 @ B ) ) ) ).

% insertCI
thf(fact_19_insert__iff,axiom,
    ! [A: produc1115495963_state,B2: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( member1389040324_state @ A @ ( insert311944171_state @ B2 @ A2 ) )
      = ( ( A = B2 )
        | ( member1389040324_state @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_20_insert__iff,axiom,
    ! [A: product_prod_nat_nat,B2: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( member701585322at_nat @ A @ ( insert271595217at_nat @ B2 @ A2 ) )
      = ( ( A = B2 )
        | ( member701585322at_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_21_insert__iff,axiom,
    ! [A: produc696469763tate_o,B2: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ B2 @ A2 ) )
      = ( ( A = B2 )
        | ( member1838112666tate_o @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_22_insert__absorb2,axiom,
    ! [X2: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( insert2053719859tate_o @ X2 @ ( insert2053719859tate_o @ X2 @ A2 ) )
      = ( insert2053719859tate_o @ X2 @ A2 ) ) ).

% insert_absorb2
thf(fact_23_insert__absorb2,axiom,
    ! [X2: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( insert271595217at_nat @ X2 @ ( insert271595217at_nat @ X2 @ A2 ) )
      = ( insert271595217at_nat @ X2 @ A2 ) ) ).

% insert_absorb2
thf(fact_24_insert__absorb2,axiom,
    ! [X2: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( insert311944171_state @ X2 @ ( insert311944171_state @ X2 @ A2 ) )
      = ( insert311944171_state @ X2 @ A2 ) ) ).

% insert_absorb2
thf(fact_25_hoare_OCall,axiom,
    ! [P: a > state > $o,Q: a > state > $o] :
      ( ( hoare_a @ ( insert2053719859tate_o @ ( produc33908149tate_o @ P @ ( produc1948644831tate_o @ call @ Q ) ) @ bot_bo170732493tate_o ) @ P @ body @ Q )
     => ( hoare_a @ bot_bo170732493tate_o @ P @ call @ Q ) ) ).

% hoare.Call
thf(fact_26_empty__iff,axiom,
    ! [C2: produc696469763tate_o] :
      ~ ( member1838112666tate_o @ C2 @ bot_bo170732493tate_o ) ).

% empty_iff
thf(fact_27_empty__iff,axiom,
    ! [C2: product_prod_nat_nat] :
      ~ ( member701585322at_nat @ C2 @ bot_bo2130386637at_nat ) ).

% empty_iff
thf(fact_28_empty__iff,axiom,
    ! [C2: produc1115495963_state] :
      ~ ( member1389040324_state @ C2 @ bot_bo1625160935_state ) ).

% empty_iff
thf(fact_29_all__not__in__conv,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ( ! [X: produc696469763tate_o] :
            ~ ( member1838112666tate_o @ X @ A2 ) )
      = ( A2 = bot_bo170732493tate_o ) ) ).

% all_not_in_conv
thf(fact_30_all__not__in__conv,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ( ! [X: product_prod_nat_nat] :
            ~ ( member701585322at_nat @ X @ A2 ) )
      = ( A2 = bot_bo2130386637at_nat ) ) ).

% all_not_in_conv
thf(fact_31_all__not__in__conv,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ( ! [X: produc1115495963_state] :
            ~ ( member1389040324_state @ X @ A2 ) )
      = ( A2 = bot_bo1625160935_state ) ) ).

% all_not_in_conv
thf(fact_32_empty__Collect__eq,axiom,
    ! [P: produc696469763tate_o > $o] :
      ( ( bot_bo170732493tate_o
        = ( collec1499596504tate_o @ P ) )
      = ( ! [X: produc696469763tate_o] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_33_empty__Collect__eq,axiom,
    ! [P: product_prod_nat_nat > $o] :
      ( ( bot_bo2130386637at_nat
        = ( collec7649004at_nat @ P ) )
      = ( ! [X: product_prod_nat_nat] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_34_empty__Collect__eq,axiom,
    ! [P: produc1115495963_state > $o] :
      ( ( bot_bo1625160935_state
        = ( collec496201222_state @ P ) )
      = ( ! [X: produc1115495963_state] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_35_Collect__empty__eq,axiom,
    ! [P: produc696469763tate_o > $o] :
      ( ( ( collec1499596504tate_o @ P )
        = bot_bo170732493tate_o )
      = ( ! [X: produc696469763tate_o] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_36_Collect__empty__eq,axiom,
    ! [P: product_prod_nat_nat > $o] :
      ( ( ( collec7649004at_nat @ P )
        = bot_bo2130386637at_nat )
      = ( ! [X: product_prod_nat_nat] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_37_Collect__empty__eq,axiom,
    ! [P: produc1115495963_state > $o] :
      ( ( ( collec496201222_state @ P )
        = bot_bo1625160935_state )
      = ( ! [X: produc1115495963_state] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_38_ex__in__conv,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ( ? [X: produc696469763tate_o] : ( member1838112666tate_o @ X @ A2 ) )
      = ( A2 != bot_bo170732493tate_o ) ) ).

% ex_in_conv
thf(fact_39_ex__in__conv,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ( ? [X: product_prod_nat_nat] : ( member701585322at_nat @ X @ A2 ) )
      = ( A2 != bot_bo2130386637at_nat ) ) ).

% ex_in_conv
thf(fact_40_ex__in__conv,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ( ? [X: produc1115495963_state] : ( member1389040324_state @ X @ A2 ) )
      = ( A2 != bot_bo1625160935_state ) ) ).

% ex_in_conv
thf(fact_41_equals0I,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ! [Y2: produc696469763tate_o] :
          ~ ( member1838112666tate_o @ Y2 @ A2 )
     => ( A2 = bot_bo170732493tate_o ) ) ).

% equals0I
thf(fact_42_equals0I,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ! [Y2: product_prod_nat_nat] :
          ~ ( member701585322at_nat @ Y2 @ A2 )
     => ( A2 = bot_bo2130386637at_nat ) ) ).

% equals0I
thf(fact_43_equals0I,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ! [Y2: produc1115495963_state] :
          ~ ( member1389040324_state @ Y2 @ A2 )
     => ( A2 = bot_bo1625160935_state ) ) ).

% equals0I
thf(fact_44_equals0D,axiom,
    ! [A2: set_Pr1590995257tate_o,A: produc696469763tate_o] :
      ( ( A2 = bot_bo170732493tate_o )
     => ~ ( member1838112666tate_o @ A @ A2 ) ) ).

% equals0D
thf(fact_45_equals0D,axiom,
    ! [A2: set_Pr1986765409at_nat,A: product_prod_nat_nat] :
      ( ( A2 = bot_bo2130386637at_nat )
     => ~ ( member701585322at_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_46_equals0D,axiom,
    ! [A2: set_Pr795498619_state,A: produc1115495963_state] :
      ( ( A2 = bot_bo1625160935_state )
     => ~ ( member1389040324_state @ A @ A2 ) ) ).

% equals0D
thf(fact_47_emptyE,axiom,
    ! [A: produc696469763tate_o] :
      ~ ( member1838112666tate_o @ A @ bot_bo170732493tate_o ) ).

% emptyE
thf(fact_48_emptyE,axiom,
    ! [A: product_prod_nat_nat] :
      ~ ( member701585322at_nat @ A @ bot_bo2130386637at_nat ) ).

% emptyE
thf(fact_49_emptyE,axiom,
    ! [A: produc1115495963_state] :
      ~ ( member1389040324_state @ A @ bot_bo1625160935_state ) ).

% emptyE
thf(fact_50_mk__disjoint__insert,axiom,
    ! [A: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( member1389040324_state @ A @ A2 )
     => ? [B3: set_Pr795498619_state] :
          ( ( A2
            = ( insert311944171_state @ A @ B3 ) )
          & ~ ( member1389040324_state @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_51_mk__disjoint__insert,axiom,
    ! [A: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( member701585322at_nat @ A @ A2 )
     => ? [B3: set_Pr1986765409at_nat] :
          ( ( A2
            = ( insert271595217at_nat @ A @ B3 ) )
          & ~ ( member701585322at_nat @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_52_mk__disjoint__insert,axiom,
    ! [A: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( member1838112666tate_o @ A @ A2 )
     => ? [B3: set_Pr1590995257tate_o] :
          ( ( A2
            = ( insert2053719859tate_o @ A @ B3 ) )
          & ~ ( member1838112666tate_o @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_53_insert__commute,axiom,
    ! [X2: produc696469763tate_o,Y3: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( insert2053719859tate_o @ X2 @ ( insert2053719859tate_o @ Y3 @ A2 ) )
      = ( insert2053719859tate_o @ Y3 @ ( insert2053719859tate_o @ X2 @ A2 ) ) ) ).

% insert_commute
thf(fact_54_insert__commute,axiom,
    ! [X2: product_prod_nat_nat,Y3: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( insert271595217at_nat @ X2 @ ( insert271595217at_nat @ Y3 @ A2 ) )
      = ( insert271595217at_nat @ Y3 @ ( insert271595217at_nat @ X2 @ A2 ) ) ) ).

% insert_commute
thf(fact_55_insert__commute,axiom,
    ! [X2: produc1115495963_state,Y3: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( insert311944171_state @ X2 @ ( insert311944171_state @ Y3 @ A2 ) )
      = ( insert311944171_state @ Y3 @ ( insert311944171_state @ X2 @ A2 ) ) ) ).

% insert_commute
thf(fact_56_insert__eq__iff,axiom,
    ! [A: produc1115495963_state,A2: set_Pr795498619_state,B2: produc1115495963_state,B: set_Pr795498619_state] :
      ( ~ ( member1389040324_state @ A @ A2 )
     => ( ~ ( member1389040324_state @ B2 @ B )
       => ( ( ( insert311944171_state @ A @ A2 )
            = ( insert311944171_state @ B2 @ B ) )
          = ( ( ( A = B2 )
             => ( A2 = B ) )
            & ( ( A != B2 )
             => ? [C3: set_Pr795498619_state] :
                  ( ( A2
                    = ( insert311944171_state @ B2 @ C3 ) )
                  & ~ ( member1389040324_state @ B2 @ C3 )
                  & ( B
                    = ( insert311944171_state @ A @ C3 ) )
                  & ~ ( member1389040324_state @ A @ C3 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_57_insert__eq__iff,axiom,
    ! [A: product_prod_nat_nat,A2: set_Pr1986765409at_nat,B2: product_prod_nat_nat,B: set_Pr1986765409at_nat] :
      ( ~ ( member701585322at_nat @ A @ A2 )
     => ( ~ ( member701585322at_nat @ B2 @ B )
       => ( ( ( insert271595217at_nat @ A @ A2 )
            = ( insert271595217at_nat @ B2 @ B ) )
          = ( ( ( A = B2 )
             => ( A2 = B ) )
            & ( ( A != B2 )
             => ? [C3: set_Pr1986765409at_nat] :
                  ( ( A2
                    = ( insert271595217at_nat @ B2 @ C3 ) )
                  & ~ ( member701585322at_nat @ B2 @ C3 )
                  & ( B
                    = ( insert271595217at_nat @ A @ C3 ) )
                  & ~ ( member701585322at_nat @ A @ C3 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_58_insert__eq__iff,axiom,
    ! [A: produc696469763tate_o,A2: set_Pr1590995257tate_o,B2: produc696469763tate_o,B: set_Pr1590995257tate_o] :
      ( ~ ( member1838112666tate_o @ A @ A2 )
     => ( ~ ( member1838112666tate_o @ B2 @ B )
       => ( ( ( insert2053719859tate_o @ A @ A2 )
            = ( insert2053719859tate_o @ B2 @ B ) )
          = ( ( ( A = B2 )
             => ( A2 = B ) )
            & ( ( A != B2 )
             => ? [C3: set_Pr1590995257tate_o] :
                  ( ( A2
                    = ( insert2053719859tate_o @ B2 @ C3 ) )
                  & ~ ( member1838112666tate_o @ B2 @ C3 )
                  & ( B
                    = ( insert2053719859tate_o @ A @ C3 ) )
                  & ~ ( member1838112666tate_o @ A @ C3 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_59_insert__absorb,axiom,
    ! [A: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( member1389040324_state @ A @ A2 )
     => ( ( insert311944171_state @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_60_insert__absorb,axiom,
    ! [A: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( member701585322at_nat @ A @ A2 )
     => ( ( insert271595217at_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_61_insert__absorb,axiom,
    ! [A: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( member1838112666tate_o @ A @ A2 )
     => ( ( insert2053719859tate_o @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_62_insert__ident,axiom,
    ! [X2: produc1115495963_state,A2: set_Pr795498619_state,B: set_Pr795498619_state] :
      ( ~ ( member1389040324_state @ X2 @ A2 )
     => ( ~ ( member1389040324_state @ X2 @ B )
       => ( ( ( insert311944171_state @ X2 @ A2 )
            = ( insert311944171_state @ X2 @ B ) )
          = ( A2 = B ) ) ) ) ).

% insert_ident
thf(fact_63_insert__ident,axiom,
    ! [X2: product_prod_nat_nat,A2: set_Pr1986765409at_nat,B: set_Pr1986765409at_nat] :
      ( ~ ( member701585322at_nat @ X2 @ A2 )
     => ( ~ ( member701585322at_nat @ X2 @ B )
       => ( ( ( insert271595217at_nat @ X2 @ A2 )
            = ( insert271595217at_nat @ X2 @ B ) )
          = ( A2 = B ) ) ) ) ).

% insert_ident
thf(fact_64_insert__ident,axiom,
    ! [X2: produc696469763tate_o,A2: set_Pr1590995257tate_o,B: set_Pr1590995257tate_o] :
      ( ~ ( member1838112666tate_o @ X2 @ A2 )
     => ( ~ ( member1838112666tate_o @ X2 @ B )
       => ( ( ( insert2053719859tate_o @ X2 @ A2 )
            = ( insert2053719859tate_o @ X2 @ B ) )
          = ( A2 = B ) ) ) ) ).

% insert_ident
thf(fact_65_Set_Oset__insert,axiom,
    ! [X2: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( member1389040324_state @ X2 @ A2 )
     => ~ ! [B3: set_Pr795498619_state] :
            ( ( A2
              = ( insert311944171_state @ X2 @ B3 ) )
           => ( member1389040324_state @ X2 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_66_Set_Oset__insert,axiom,
    ! [X2: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( member701585322at_nat @ X2 @ A2 )
     => ~ ! [B3: set_Pr1986765409at_nat] :
            ( ( A2
              = ( insert271595217at_nat @ X2 @ B3 ) )
           => ( member701585322at_nat @ X2 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_67_Set_Oset__insert,axiom,
    ! [X2: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( member1838112666tate_o @ X2 @ A2 )
     => ~ ! [B3: set_Pr1590995257tate_o] :
            ( ( A2
              = ( insert2053719859tate_o @ X2 @ B3 ) )
           => ( member1838112666tate_o @ X2 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_68_insertI2,axiom,
    ! [A: produc1115495963_state,B: set_Pr795498619_state,B2: produc1115495963_state] :
      ( ( member1389040324_state @ A @ B )
     => ( member1389040324_state @ A @ ( insert311944171_state @ B2 @ B ) ) ) ).

% insertI2
thf(fact_69_insertI2,axiom,
    ! [A: product_prod_nat_nat,B: set_Pr1986765409at_nat,B2: product_prod_nat_nat] :
      ( ( member701585322at_nat @ A @ B )
     => ( member701585322at_nat @ A @ ( insert271595217at_nat @ B2 @ B ) ) ) ).

% insertI2
thf(fact_70_insertI2,axiom,
    ! [A: produc696469763tate_o,B: set_Pr1590995257tate_o,B2: produc696469763tate_o] :
      ( ( member1838112666tate_o @ A @ B )
     => ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ B2 @ B ) ) ) ).

% insertI2
thf(fact_71_insertI1,axiom,
    ! [A: produc1115495963_state,B: set_Pr795498619_state] : ( member1389040324_state @ A @ ( insert311944171_state @ A @ B ) ) ).

% insertI1
thf(fact_72_insertI1,axiom,
    ! [A: product_prod_nat_nat,B: set_Pr1986765409at_nat] : ( member701585322at_nat @ A @ ( insert271595217at_nat @ A @ B ) ) ).

% insertI1
thf(fact_73_insertI1,axiom,
    ! [A: produc696469763tate_o,B: set_Pr1590995257tate_o] : ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ A @ B ) ) ).

% insertI1
thf(fact_74_insertE,axiom,
    ! [A: produc1115495963_state,B2: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( member1389040324_state @ A @ ( insert311944171_state @ B2 @ A2 ) )
     => ( ( A != B2 )
       => ( member1389040324_state @ A @ A2 ) ) ) ).

% insertE
thf(fact_75_insertE,axiom,
    ! [A: product_prod_nat_nat,B2: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( member701585322at_nat @ A @ ( insert271595217at_nat @ B2 @ A2 ) )
     => ( ( A != B2 )
       => ( member701585322at_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_76_insertE,axiom,
    ! [A: produc696469763tate_o,B2: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( member1838112666tate_o @ A @ ( insert2053719859tate_o @ B2 @ A2 ) )
     => ( ( A != B2 )
       => ( member1838112666tate_o @ A @ A2 ) ) ) ).

% insertE
thf(fact_77_empty__def,axiom,
    ( bot_bo170732493tate_o
    = ( collec1499596504tate_o
      @ ^ [X: produc696469763tate_o] : $false ) ) ).

% empty_def
thf(fact_78_empty__def,axiom,
    ( bot_bo2130386637at_nat
    = ( collec7649004at_nat
      @ ^ [X: product_prod_nat_nat] : $false ) ) ).

% empty_def
thf(fact_79_empty__def,axiom,
    ( bot_bo1625160935_state
    = ( collec496201222_state
      @ ^ [X: produc1115495963_state] : $false ) ) ).

% empty_def
thf(fact_80_insert__Collect,axiom,
    ! [A: produc1115495963_state,P: produc1115495963_state > $o] :
      ( ( insert311944171_state @ A @ ( collec496201222_state @ P ) )
      = ( collec496201222_state
        @ ^ [U: produc1115495963_state] :
            ( ( U != A )
           => ( P @ U ) ) ) ) ).

% insert_Collect
thf(fact_81_insert__Collect,axiom,
    ! [A: product_prod_nat_nat,P: product_prod_nat_nat > $o] :
      ( ( insert271595217at_nat @ A @ ( collec7649004at_nat @ P ) )
      = ( collec7649004at_nat
        @ ^ [U: product_prod_nat_nat] :
            ( ( U != A )
           => ( P @ U ) ) ) ) ).

% insert_Collect
thf(fact_82_insert__Collect,axiom,
    ! [A: produc696469763tate_o,P: produc696469763tate_o > $o] :
      ( ( insert2053719859tate_o @ A @ ( collec1499596504tate_o @ P ) )
      = ( collec1499596504tate_o
        @ ^ [U: produc696469763tate_o] :
            ( ( U != A )
           => ( P @ U ) ) ) ) ).

% insert_Collect
thf(fact_83_insert__compr,axiom,
    ( insert311944171_state
    = ( ^ [A3: produc1115495963_state,B4: set_Pr795498619_state] :
          ( collec496201222_state
          @ ^ [X: produc1115495963_state] :
              ( ( X = A3 )
              | ( member1389040324_state @ X @ B4 ) ) ) ) ) ).

% insert_compr
thf(fact_84_insert__compr,axiom,
    ( insert271595217at_nat
    = ( ^ [A3: product_prod_nat_nat,B4: set_Pr1986765409at_nat] :
          ( collec7649004at_nat
          @ ^ [X: product_prod_nat_nat] :
              ( ( X = A3 )
              | ( member701585322at_nat @ X @ B4 ) ) ) ) ) ).

% insert_compr
thf(fact_85_insert__compr,axiom,
    ( insert2053719859tate_o
    = ( ^ [A3: produc696469763tate_o,B4: set_Pr1590995257tate_o] :
          ( collec1499596504tate_o
          @ ^ [X: produc696469763tate_o] :
              ( ( X = A3 )
              | ( member1838112666tate_o @ X @ B4 ) ) ) ) ) ).

% insert_compr
thf(fact_86_singleton__inject,axiom,
    ! [A: produc696469763tate_o,B2: produc696469763tate_o] :
      ( ( ( insert2053719859tate_o @ A @ bot_bo170732493tate_o )
        = ( insert2053719859tate_o @ B2 @ bot_bo170732493tate_o ) )
     => ( A = B2 ) ) ).

% singleton_inject
thf(fact_87_singleton__inject,axiom,
    ! [A: product_prod_nat_nat,B2: product_prod_nat_nat] :
      ( ( ( insert271595217at_nat @ A @ bot_bo2130386637at_nat )
        = ( insert271595217at_nat @ B2 @ bot_bo2130386637at_nat ) )
     => ( A = B2 ) ) ).

% singleton_inject
thf(fact_88_singleton__inject,axiom,
    ! [A: produc1115495963_state,B2: produc1115495963_state] :
      ( ( ( insert311944171_state @ A @ bot_bo1625160935_state )
        = ( insert311944171_state @ B2 @ bot_bo1625160935_state ) )
     => ( A = B2 ) ) ).

% singleton_inject
thf(fact_89_insert__not__empty,axiom,
    ! [A: produc696469763tate_o,A2: set_Pr1590995257tate_o] :
      ( ( insert2053719859tate_o @ A @ A2 )
     != bot_bo170732493tate_o ) ).

% insert_not_empty
thf(fact_90_insert__not__empty,axiom,
    ! [A: product_prod_nat_nat,A2: set_Pr1986765409at_nat] :
      ( ( insert271595217at_nat @ A @ A2 )
     != bot_bo2130386637at_nat ) ).

% insert_not_empty
thf(fact_91_insert__not__empty,axiom,
    ! [A: produc1115495963_state,A2: set_Pr795498619_state] :
      ( ( insert311944171_state @ A @ A2 )
     != bot_bo1625160935_state ) ).

% insert_not_empty
thf(fact_92_doubleton__eq__iff,axiom,
    ! [A: produc696469763tate_o,B2: produc696469763tate_o,C2: produc696469763tate_o,D: produc696469763tate_o] :
      ( ( ( insert2053719859tate_o @ A @ ( insert2053719859tate_o @ B2 @ bot_bo170732493tate_o ) )
        = ( insert2053719859tate_o @ C2 @ ( insert2053719859tate_o @ D @ bot_bo170732493tate_o ) ) )
      = ( ( ( A = C2 )
          & ( B2 = D ) )
        | ( ( A = D )
          & ( B2 = C2 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_93_doubleton__eq__iff,axiom,
    ! [A: product_prod_nat_nat,B2: product_prod_nat_nat,C2: product_prod_nat_nat,D: product_prod_nat_nat] :
      ( ( ( insert271595217at_nat @ A @ ( insert271595217at_nat @ B2 @ bot_bo2130386637at_nat ) )
        = ( insert271595217at_nat @ C2 @ ( insert271595217at_nat @ D @ bot_bo2130386637at_nat ) ) )
      = ( ( ( A = C2 )
          & ( B2 = D ) )
        | ( ( A = D )
          & ( B2 = C2 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_94_doubleton__eq__iff,axiom,
    ! [A: produc1115495963_state,B2: produc1115495963_state,C2: produc1115495963_state,D: produc1115495963_state] :
      ( ( ( insert311944171_state @ A @ ( insert311944171_state @ B2 @ bot_bo1625160935_state ) )
        = ( insert311944171_state @ C2 @ ( insert311944171_state @ D @ bot_bo1625160935_state ) ) )
      = ( ( ( A = C2 )
          & ( B2 = D ) )
        | ( ( A = D )
          & ( B2 = C2 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_95_singleton__iff,axiom,
    ! [B2: produc696469763tate_o,A: produc696469763tate_o] :
      ( ( member1838112666tate_o @ B2 @ ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) )
      = ( B2 = A ) ) ).

% singleton_iff
thf(fact_96_singleton__iff,axiom,
    ! [B2: product_prod_nat_nat,A: product_prod_nat_nat] :
      ( ( member701585322at_nat @ B2 @ ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) )
      = ( B2 = A ) ) ).

% singleton_iff
thf(fact_97_singleton__iff,axiom,
    ! [B2: produc1115495963_state,A: produc1115495963_state] :
      ( ( member1389040324_state @ B2 @ ( insert311944171_state @ A @ bot_bo1625160935_state ) )
      = ( B2 = A ) ) ).

% singleton_iff
thf(fact_98_singletonD,axiom,
    ! [B2: produc696469763tate_o,A: produc696469763tate_o] :
      ( ( member1838112666tate_o @ B2 @ ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) )
     => ( B2 = A ) ) ).

% singletonD
thf(fact_99_singletonD,axiom,
    ! [B2: product_prod_nat_nat,A: product_prod_nat_nat] :
      ( ( member701585322at_nat @ B2 @ ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) )
     => ( B2 = A ) ) ).

% singletonD
thf(fact_100_singletonD,axiom,
    ! [B2: produc1115495963_state,A: produc1115495963_state] :
      ( ( member1389040324_state @ B2 @ ( insert311944171_state @ A @ bot_bo1625160935_state ) )
     => ( B2 = A ) ) ).

% singletonD
thf(fact_101_hoare_OAsm,axiom,
    ! [P: a > state > $o,Q: a > state > $o] : ( hoare_a @ ( insert2053719859tate_o @ ( produc33908149tate_o @ P @ ( produc1948644831tate_o @ call @ Q ) ) @ bot_bo170732493tate_o ) @ P @ call @ Q ) ).

% hoare.Asm
thf(fact_102_Collect__conv__if2,axiom,
    ! [P: produc696469763tate_o > $o,A: produc696469763tate_o] :
      ( ( ( P @ A )
       => ( ( collec1499596504tate_o
            @ ^ [X: produc696469763tate_o] :
                ( ( A = X )
                & ( P @ X ) ) )
          = ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) ) )
      & ( ~ ( P @ A )
       => ( ( collec1499596504tate_o
            @ ^ [X: produc696469763tate_o] :
                ( ( A = X )
                & ( P @ X ) ) )
          = bot_bo170732493tate_o ) ) ) ).

% Collect_conv_if2
thf(fact_103_Collect__conv__if2,axiom,
    ! [P: product_prod_nat_nat > $o,A: product_prod_nat_nat] :
      ( ( ( P @ A )
       => ( ( collec7649004at_nat
            @ ^ [X: product_prod_nat_nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collec7649004at_nat
            @ ^ [X: product_prod_nat_nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = bot_bo2130386637at_nat ) ) ) ).

% Collect_conv_if2
thf(fact_104_Collect__conv__if2,axiom,
    ! [P: produc1115495963_state > $o,A: produc1115495963_state] :
      ( ( ( P @ A )
       => ( ( collec496201222_state
            @ ^ [X: produc1115495963_state] :
                ( ( A = X )
                & ( P @ X ) ) )
          = ( insert311944171_state @ A @ bot_bo1625160935_state ) ) )
      & ( ~ ( P @ A )
       => ( ( collec496201222_state
            @ ^ [X: produc1115495963_state] :
                ( ( A = X )
                & ( P @ X ) ) )
          = bot_bo1625160935_state ) ) ) ).

% Collect_conv_if2
thf(fact_105_Collect__conv__if,axiom,
    ! [P: produc696469763tate_o > $o,A: produc696469763tate_o] :
      ( ( ( P @ A )
       => ( ( collec1499596504tate_o
            @ ^ [X: produc696469763tate_o] :
                ( ( X = A )
                & ( P @ X ) ) )
          = ( insert2053719859tate_o @ A @ bot_bo170732493tate_o ) ) )
      & ( ~ ( P @ A )
       => ( ( collec1499596504tate_o
            @ ^ [X: produc696469763tate_o] :
                ( ( X = A )
                & ( P @ X ) ) )
          = bot_bo170732493tate_o ) ) ) ).

% Collect_conv_if
thf(fact_106_Collect__conv__if,axiom,
    ! [P: product_prod_nat_nat > $o,A: product_prod_nat_nat] :
      ( ( ( P @ A )
       => ( ( collec7649004at_nat
            @ ^ [X: product_prod_nat_nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = ( insert271595217at_nat @ A @ bot_bo2130386637at_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collec7649004at_nat
            @ ^ [X: product_prod_nat_nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = bot_bo2130386637at_nat ) ) ) ).

% Collect_conv_if
thf(fact_107_Collect__conv__if,axiom,
    ! [P: produc1115495963_state > $o,A: produc1115495963_state] :
      ( ( ( P @ A )
       => ( ( collec496201222_state
            @ ^ [X: produc1115495963_state] :
                ( ( X = A )
                & ( P @ X ) ) )
          = ( insert311944171_state @ A @ bot_bo1625160935_state ) ) )
      & ( ~ ( P @ A )
       => ( ( collec496201222_state
            @ ^ [X: produc1115495963_state] :
                ( ( X = A )
                & ( P @ X ) ) )
          = bot_bo1625160935_state ) ) ) ).

% Collect_conv_if
thf(fact_108_wf__empty,axiom,
    wf_nat @ bot_bo2130386637at_nat ).

% wf_empty
thf(fact_109_wf__empty,axiom,
    wf_state @ bot_bo1625160935_state ).

% wf_empty
thf(fact_110_mem__Collect__eq,axiom,
    ! [A: produc1115495963_state,P: produc1115495963_state > $o] :
      ( ( member1389040324_state @ A @ ( collec496201222_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_111_mem__Collect__eq,axiom,
    ! [A: product_prod_nat_nat,P: product_prod_nat_nat > $o] :
      ( ( member701585322at_nat @ A @ ( collec7649004at_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_112_mem__Collect__eq,axiom,
    ! [A: produc696469763tate_o,P: produc696469763tate_o > $o] :
      ( ( member1838112666tate_o @ A @ ( collec1499596504tate_o @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_113_Collect__mem__eq,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ( collec496201222_state
        @ ^ [X: produc1115495963_state] : ( member1389040324_state @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_114_Collect__mem__eq,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ( collec7649004at_nat
        @ ^ [X: product_prod_nat_nat] : ( member701585322at_nat @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_115_Collect__mem__eq,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ( collec1499596504tate_o
        @ ^ [X: produc696469763tate_o] : ( member1838112666tate_o @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_116_Collect__cong,axiom,
    ! [P: produc1115495963_state > $o,Q: produc1115495963_state > $o] :
      ( ! [X3: produc1115495963_state] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collec496201222_state @ P )
        = ( collec496201222_state @ Q ) ) ) ).

% Collect_cong
thf(fact_117_Collect__cong,axiom,
    ! [P: product_prod_nat_nat > $o,Q: product_prod_nat_nat > $o] :
      ( ! [X3: product_prod_nat_nat] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collec7649004at_nat @ P )
        = ( collec7649004at_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_118_Collect__cong,axiom,
    ! [P: produc696469763tate_o > $o,Q: produc696469763tate_o > $o] :
      ( ! [X3: produc696469763tate_o] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collec1499596504tate_o @ P )
        = ( collec1499596504tate_o @ Q ) ) ) ).

% Collect_cong
thf(fact_119_wfE__min_H,axiom,
    ! [R2: set_Pr795498619_state,Q: set_state] :
      ( ( wf_state @ R2 )
     => ( ( Q != bot_bot_set_state )
       => ~ ! [Z: state] :
              ( ( member_state @ Z @ Q )
             => ~ ! [Y4: state] :
                    ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ Z ) @ R2 )
                   => ~ ( member_state @ Y4 @ Q ) ) ) ) ) ).

% wfE_min'
thf(fact_120_wfE__min_H,axiom,
    ! [R2: set_Pr1986765409at_nat,Q: set_nat] :
      ( ( wf_nat @ R2 )
     => ( ( Q != bot_bot_set_nat )
       => ~ ! [Z: nat] :
              ( ( member_nat @ Z @ Q )
             => ~ ! [Y4: nat] :
                    ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y4 @ Z ) @ R2 )
                   => ~ ( member_nat @ Y4 @ Q ) ) ) ) ) ).

% wfE_min'
thf(fact_121_wfE__min_H,axiom,
    ! [R2: set_Pr1702239303tate_o,Q: set_Pr1590995257tate_o] :
      ( ( wf_Pro309705690tate_o @ R2 )
     => ( ( Q != bot_bo170732493tate_o )
       => ~ ! [Z: produc696469763tate_o] :
              ( ( member1838112666tate_o @ Z @ Q )
             => ~ ! [Y4: produc696469763tate_o] :
                    ( ( member1629320336tate_o @ ( produc1684562079tate_o @ Y4 @ Z ) @ R2 )
                   => ~ ( member1838112666tate_o @ Y4 @ Q ) ) ) ) ) ).

% wfE_min'
thf(fact_122_wfE__min_H,axiom,
    ! [R2: set_Pr1490359111at_nat,Q: set_Pr1986765409at_nat] :
      ( ( wf_Pro745352042at_nat @ R2 )
     => ( ( Q != bot_bo2130386637at_nat )
       => ~ ! [Z: product_prod_nat_nat] :
              ( ( member701585322at_nat @ Z @ Q )
             => ~ ! [Y4: product_prod_nat_nat] :
                    ( ( member2027625872at_nat @ ( produc1168807639at_nat @ Y4 @ Z ) @ R2 )
                   => ~ ( member701585322at_nat @ Y4 @ Q ) ) ) ) ) ).

% wfE_min'
thf(fact_123_wfE__min_H,axiom,
    ! [R2: set_Pr778812871_state,Q: set_Pr795498619_state] :
      ( ( wf_Pro1783588484_state @ R2 )
     => ( ( Q != bot_bo1625160935_state )
       => ~ ! [Z: produc1115495963_state] :
              ( ( member1389040324_state @ Z @ Q )
             => ~ ! [Y4: produc1115495963_state] :
                    ( ( member768948240_state @ ( produc1964772951_state @ Y4 @ Z ) @ R2 )
                   => ~ ( member1389040324_state @ Y4 @ Q ) ) ) ) ) ).

% wfE_min'
thf(fact_124_the__elem__eq,axiom,
    ! [X2: produc696469763tate_o] :
      ( ( the_el1569055182tate_o @ ( insert2053719859tate_o @ X2 @ bot_bo170732493tate_o ) )
      = X2 ) ).

% the_elem_eq
thf(fact_125_the__elem__eq,axiom,
    ! [X2: product_prod_nat_nat] :
      ( ( the_el1949240438at_nat @ ( insert271595217at_nat @ X2 @ bot_bo2130386637at_nat ) )
      = X2 ) ).

% the_elem_eq
thf(fact_126_the__elem__eq,axiom,
    ! [X2: produc1115495963_state] :
      ( ( the_el1967402896_state @ ( insert311944171_state @ X2 @ bot_bo1625160935_state ) )
      = X2 ) ).

% the_elem_eq
thf(fact_127_old_Oprod_Oinject,axiom,
    ! [A: a > state > $o,B2: produc204914599tate_o,A4: a > state > $o,B5: produc204914599tate_o] :
      ( ( ( produc33908149tate_o @ A @ B2 )
        = ( produc33908149tate_o @ A4 @ B5 ) )
      = ( ( A = A4 )
        & ( B2 = B5 ) ) ) ).

% old.prod.inject
thf(fact_128_old_Oprod_Oinject,axiom,
    ! [A: state,B2: state,A4: state,B5: state] :
      ( ( ( produc64584659_state @ A @ B2 )
        = ( produc64584659_state @ A4 @ B5 ) )
      = ( ( A = A4 )
        & ( B2 = B5 ) ) ) ).

% old.prod.inject
thf(fact_129_old_Oprod_Oinject,axiom,
    ! [A: com,B2: a > state > $o,A4: com,B5: a > state > $o] :
      ( ( ( produc1948644831tate_o @ A @ B2 )
        = ( produc1948644831tate_o @ A4 @ B5 ) )
      = ( ( A = A4 )
        & ( B2 = B5 ) ) ) ).

% old.prod.inject
thf(fact_130_old_Oprod_Oinject,axiom,
    ! [A: nat,B2: nat,A4: nat,B5: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B2 )
        = ( product_Pair_nat_nat @ A4 @ B5 ) )
      = ( ( A = A4 )
        & ( B2 = B5 ) ) ) ).

% old.prod.inject
thf(fact_131_prod_Oinject,axiom,
    ! [X1: a > state > $o,X22: produc204914599tate_o,Y1: a > state > $o,Y22: produc204914599tate_o] :
      ( ( ( produc33908149tate_o @ X1 @ X22 )
        = ( produc33908149tate_o @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_132_prod_Oinject,axiom,
    ! [X1: state,X22: state,Y1: state,Y22: state] :
      ( ( ( produc64584659_state @ X1 @ X22 )
        = ( produc64584659_state @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_133_prod_Oinject,axiom,
    ! [X1: com,X22: a > state > $o,Y1: com,Y22: a > state > $o] :
      ( ( ( produc1948644831tate_o @ X1 @ X22 )
        = ( produc1948644831tate_o @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_134_prod_Oinject,axiom,
    ! [X1: nat,X22: nat,Y1: nat,Y22: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X22 )
        = ( product_Pair_nat_nat @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_135_is__singletonI,axiom,
    ! [X2: produc696469763tate_o] : ( is_sin1547905295tate_o @ ( insert2053719859tate_o @ X2 @ bot_bo170732493tate_o ) ) ).

% is_singletonI
thf(fact_136_is__singletonI,axiom,
    ! [X2: product_prod_nat_nat] : ( is_sin1352690165at_nat @ ( insert271595217at_nat @ X2 @ bot_bo2130386637at_nat ) ) ).

% is_singletonI
thf(fact_137_is__singletonI,axiom,
    ! [X2: produc1115495963_state] : ( is_sin1132515087_state @ ( insert311944171_state @ X2 @ bot_bo1625160935_state ) ) ).

% is_singletonI
thf(fact_138_bot__set__def,axiom,
    ( bot_bo170732493tate_o
    = ( collec1499596504tate_o @ bot_bo250281208te_o_o ) ) ).

% bot_set_def
thf(fact_139_bot__set__def,axiom,
    ( bot_bo2130386637at_nat
    = ( collec7649004at_nat @ bot_bo513358416_nat_o ) ) ).

% bot_set_def
thf(fact_140_bot__set__def,axiom,
    ( bot_bo1625160935_state
    = ( collec496201222_state @ bot_bo446391478tate_o ) ) ).

% bot_set_def
thf(fact_141_is__singleton__the__elem,axiom,
    ( is_sin1547905295tate_o
    = ( ^ [A5: set_Pr1590995257tate_o] :
          ( A5
          = ( insert2053719859tate_o @ ( the_el1569055182tate_o @ A5 ) @ bot_bo170732493tate_o ) ) ) ) ).

% is_singleton_the_elem
thf(fact_142_is__singleton__the__elem,axiom,
    ( is_sin1352690165at_nat
    = ( ^ [A5: set_Pr1986765409at_nat] :
          ( A5
          = ( insert271595217at_nat @ ( the_el1949240438at_nat @ A5 ) @ bot_bo2130386637at_nat ) ) ) ) ).

% is_singleton_the_elem
thf(fact_143_is__singleton__the__elem,axiom,
    ( is_sin1132515087_state
    = ( ^ [A5: set_Pr795498619_state] :
          ( A5
          = ( insert311944171_state @ ( the_el1967402896_state @ A5 ) @ bot_bo1625160935_state ) ) ) ) ).

% is_singleton_the_elem
thf(fact_144_is__singletonI_H,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ( A2 != bot_bo170732493tate_o )
     => ( ! [X3: produc696469763tate_o,Y2: produc696469763tate_o] :
            ( ( member1838112666tate_o @ X3 @ A2 )
           => ( ( member1838112666tate_o @ Y2 @ A2 )
             => ( X3 = Y2 ) ) )
       => ( is_sin1547905295tate_o @ A2 ) ) ) ).

% is_singletonI'
thf(fact_145_is__singletonI_H,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ( A2 != bot_bo2130386637at_nat )
     => ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat] :
            ( ( member701585322at_nat @ X3 @ A2 )
           => ( ( member701585322at_nat @ Y2 @ A2 )
             => ( X3 = Y2 ) ) )
       => ( is_sin1352690165at_nat @ A2 ) ) ) ).

% is_singletonI'
thf(fact_146_is__singletonI_H,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ( A2 != bot_bo1625160935_state )
     => ( ! [X3: produc1115495963_state,Y2: produc1115495963_state] :
            ( ( member1389040324_state @ X3 @ A2 )
           => ( ( member1389040324_state @ Y2 @ A2 )
             => ( X3 = Y2 ) ) )
       => ( is_sin1132515087_state @ A2 ) ) ) ).

% is_singletonI'
thf(fact_147_surj__pair,axiom,
    ! [P3: produc696469763tate_o] :
    ? [X3: a > state > $o,Y2: produc204914599tate_o] :
      ( P3
      = ( produc33908149tate_o @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_148_surj__pair,axiom,
    ! [P3: produc1115495963_state] :
    ? [X3: state,Y2: state] :
      ( P3
      = ( produc64584659_state @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_149_surj__pair,axiom,
    ! [P3: produc204914599tate_o] :
    ? [X3: com,Y2: a > state > $o] :
      ( P3
      = ( produc1948644831tate_o @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_150_surj__pair,axiom,
    ! [P3: product_prod_nat_nat] :
    ? [X3: nat,Y2: nat] :
      ( P3
      = ( product_Pair_nat_nat @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_151_prod__cases,axiom,
    ! [P: produc696469763tate_o > $o,P3: produc696469763tate_o] :
      ( ! [A6: a > state > $o,B6: produc204914599tate_o] : ( P @ ( produc33908149tate_o @ A6 @ B6 ) )
     => ( P @ P3 ) ) ).

% prod_cases
thf(fact_152_prod__cases,axiom,
    ! [P: produc1115495963_state > $o,P3: produc1115495963_state] :
      ( ! [A6: state,B6: state] : ( P @ ( produc64584659_state @ A6 @ B6 ) )
     => ( P @ P3 ) ) ).

% prod_cases
thf(fact_153_prod__cases,axiom,
    ! [P: produc204914599tate_o > $o,P3: produc204914599tate_o] :
      ( ! [A6: com,B6: a > state > $o] : ( P @ ( produc1948644831tate_o @ A6 @ B6 ) )
     => ( P @ P3 ) ) ).

% prod_cases
thf(fact_154_prod__cases,axiom,
    ! [P: product_prod_nat_nat > $o,P3: product_prod_nat_nat] :
      ( ! [A6: nat,B6: nat] : ( P @ ( product_Pair_nat_nat @ A6 @ B6 ) )
     => ( P @ P3 ) ) ).

% prod_cases
thf(fact_155_Pair__inject,axiom,
    ! [A: a > state > $o,B2: produc204914599tate_o,A4: a > state > $o,B5: produc204914599tate_o] :
      ( ( ( produc33908149tate_o @ A @ B2 )
        = ( produc33908149tate_o @ A4 @ B5 ) )
     => ~ ( ( A = A4 )
         => ( B2 != B5 ) ) ) ).

% Pair_inject
thf(fact_156_Pair__inject,axiom,
    ! [A: state,B2: state,A4: state,B5: state] :
      ( ( ( produc64584659_state @ A @ B2 )
        = ( produc64584659_state @ A4 @ B5 ) )
     => ~ ( ( A = A4 )
         => ( B2 != B5 ) ) ) ).

% Pair_inject
thf(fact_157_Pair__inject,axiom,
    ! [A: com,B2: a > state > $o,A4: com,B5: a > state > $o] :
      ( ( ( produc1948644831tate_o @ A @ B2 )
        = ( produc1948644831tate_o @ A4 @ B5 ) )
     => ~ ( ( A = A4 )
         => ( B2 != B5 ) ) ) ).

% Pair_inject
thf(fact_158_Pair__inject,axiom,
    ! [A: nat,B2: nat,A4: nat,B5: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B2 )
        = ( product_Pair_nat_nat @ A4 @ B5 ) )
     => ~ ( ( A = A4 )
         => ( B2 != B5 ) ) ) ).

% Pair_inject
thf(fact_159_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc696469763tate_o] :
      ~ ! [A6: a > state > $o,B6: produc204914599tate_o] :
          ( Y3
         != ( produc33908149tate_o @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_160_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc1115495963_state] :
      ~ ! [A6: state,B6: state] :
          ( Y3
         != ( produc64584659_state @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_161_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc204914599tate_o] :
      ~ ! [A6: com,B6: a > state > $o] :
          ( Y3
         != ( produc1948644831tate_o @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_162_old_Oprod_Oexhaust,axiom,
    ! [Y3: product_prod_nat_nat] :
      ~ ! [A6: nat,B6: nat] :
          ( Y3
         != ( product_Pair_nat_nat @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_163_old_Oprod_Oinducts,axiom,
    ! [P: produc696469763tate_o > $o,Prod: produc696469763tate_o] :
      ( ! [A6: a > state > $o,B6: produc204914599tate_o] : ( P @ ( produc33908149tate_o @ A6 @ B6 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_164_old_Oprod_Oinducts,axiom,
    ! [P: produc1115495963_state > $o,Prod: produc1115495963_state] :
      ( ! [A6: state,B6: state] : ( P @ ( produc64584659_state @ A6 @ B6 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_165_old_Oprod_Oinducts,axiom,
    ! [P: produc204914599tate_o > $o,Prod: produc204914599tate_o] :
      ( ! [A6: com,B6: a > state > $o] : ( P @ ( produc1948644831tate_o @ A6 @ B6 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_166_old_Oprod_Oinducts,axiom,
    ! [P: product_prod_nat_nat > $o,Prod: product_prod_nat_nat] :
      ( ! [A6: nat,B6: nat] : ( P @ ( product_Pair_nat_nat @ A6 @ B6 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_167_is__singletonE,axiom,
    ! [A2: set_Pr1590995257tate_o] :
      ( ( is_sin1547905295tate_o @ A2 )
     => ~ ! [X3: produc696469763tate_o] :
            ( A2
           != ( insert2053719859tate_o @ X3 @ bot_bo170732493tate_o ) ) ) ).

% is_singletonE
thf(fact_168_is__singletonE,axiom,
    ! [A2: set_Pr1986765409at_nat] :
      ( ( is_sin1352690165at_nat @ A2 )
     => ~ ! [X3: product_prod_nat_nat] :
            ( A2
           != ( insert271595217at_nat @ X3 @ bot_bo2130386637at_nat ) ) ) ).

% is_singletonE
thf(fact_169_is__singletonE,axiom,
    ! [A2: set_Pr795498619_state] :
      ( ( is_sin1132515087_state @ A2 )
     => ~ ! [X3: produc1115495963_state] :
            ( A2
           != ( insert311944171_state @ X3 @ bot_bo1625160935_state ) ) ) ).

% is_singletonE
thf(fact_170_is__singleton__def,axiom,
    ( is_sin1547905295tate_o
    = ( ^ [A5: set_Pr1590995257tate_o] :
        ? [X: produc696469763tate_o] :
          ( A5
          = ( insert2053719859tate_o @ X @ bot_bo170732493tate_o ) ) ) ) ).

% is_singleton_def
thf(fact_171_is__singleton__def,axiom,
    ( is_sin1352690165at_nat
    = ( ^ [A5: set_Pr1986765409at_nat] :
        ? [X: product_prod_nat_nat] :
          ( A5
          = ( insert271595217at_nat @ X @ bot_bo2130386637at_nat ) ) ) ) ).

% is_singleton_def
thf(fact_172_is__singleton__def,axiom,
    ( is_sin1132515087_state
    = ( ^ [A5: set_Pr795498619_state] :
        ? [X: produc1115495963_state] :
          ( A5
          = ( insert311944171_state @ X @ bot_bo1625160935_state ) ) ) ) ).

% is_singleton_def
thf(fact_173_wf__def,axiom,
    ( wf_state
    = ( ^ [R3: set_Pr795498619_state] :
        ! [P4: state > $o] :
          ( ! [X: state] :
              ( ! [Y5: state] :
                  ( ( member1389040324_state @ ( produc64584659_state @ Y5 @ X ) @ R3 )
                 => ( P4 @ Y5 ) )
             => ( P4 @ X ) )
         => ! [X4: state] : ( P4 @ X4 ) ) ) ) ).

% wf_def
thf(fact_174_wf__def,axiom,
    ( wf_nat
    = ( ^ [R3: set_Pr1986765409at_nat] :
        ! [P4: nat > $o] :
          ( ! [X: nat] :
              ( ! [Y5: nat] :
                  ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y5 @ X ) @ R3 )
                 => ( P4 @ Y5 ) )
             => ( P4 @ X ) )
         => ! [X4: nat] : ( P4 @ X4 ) ) ) ) ).

% wf_def
thf(fact_175_wfE__min,axiom,
    ! [R2: set_Pr778812871_state,X2: produc1115495963_state,Q: set_Pr795498619_state] :
      ( ( wf_Pro1783588484_state @ R2 )
     => ( ( member1389040324_state @ X2 @ Q )
       => ~ ! [Z: produc1115495963_state] :
              ( ( member1389040324_state @ Z @ Q )
             => ~ ! [Y4: produc1115495963_state] :
                    ( ( member768948240_state @ ( produc1964772951_state @ Y4 @ Z ) @ R2 )
                   => ~ ( member1389040324_state @ Y4 @ Q ) ) ) ) ) ).

% wfE_min
thf(fact_176_wfE__min,axiom,
    ! [R2: set_Pr1490359111at_nat,X2: product_prod_nat_nat,Q: set_Pr1986765409at_nat] :
      ( ( wf_Pro745352042at_nat @ R2 )
     => ( ( member701585322at_nat @ X2 @ Q )
       => ~ ! [Z: product_prod_nat_nat] :
              ( ( member701585322at_nat @ Z @ Q )
             => ~ ! [Y4: product_prod_nat_nat] :
                    ( ( member2027625872at_nat @ ( produc1168807639at_nat @ Y4 @ Z ) @ R2 )
                   => ~ ( member701585322at_nat @ Y4 @ Q ) ) ) ) ) ).

% wfE_min
thf(fact_177_wfE__min,axiom,
    ! [R2: set_Pr1702239303tate_o,X2: produc696469763tate_o,Q: set_Pr1590995257tate_o] :
      ( ( wf_Pro309705690tate_o @ R2 )
     => ( ( member1838112666tate_o @ X2 @ Q )
       => ~ ! [Z: produc696469763tate_o] :
              ( ( member1838112666tate_o @ Z @ Q )
             => ~ ! [Y4: produc696469763tate_o] :
                    ( ( member1629320336tate_o @ ( produc1684562079tate_o @ Y4 @ Z ) @ R2 )
                   => ~ ( member1838112666tate_o @ Y4 @ Q ) ) ) ) ) ).

% wfE_min
thf(fact_178_wfE__min,axiom,
    ! [R2: set_Pr795498619_state,X2: state,Q: set_state] :
      ( ( wf_state @ R2 )
     => ( ( member_state @ X2 @ Q )
       => ~ ! [Z: state] :
              ( ( member_state @ Z @ Q )
             => ~ ! [Y4: state] :
                    ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ Z ) @ R2 )
                   => ~ ( member_state @ Y4 @ Q ) ) ) ) ) ).

% wfE_min
thf(fact_179_wfE__min,axiom,
    ! [R2: set_Pr1986765409at_nat,X2: nat,Q: set_nat] :
      ( ( wf_nat @ R2 )
     => ( ( member_nat @ X2 @ Q )
       => ~ ! [Z: nat] :
              ( ( member_nat @ Z @ Q )
             => ~ ! [Y4: nat] :
                    ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y4 @ Z ) @ R2 )
                   => ~ ( member_nat @ Y4 @ Q ) ) ) ) ) ).

% wfE_min
thf(fact_180_wfI__min,axiom,
    ! [R2: set_Pr778812871_state] :
      ( ! [X3: produc1115495963_state,Q3: set_Pr795498619_state] :
          ( ( member1389040324_state @ X3 @ Q3 )
         => ? [Xa: produc1115495963_state] :
              ( ( member1389040324_state @ Xa @ Q3 )
              & ! [Y2: produc1115495963_state] :
                  ( ( member768948240_state @ ( produc1964772951_state @ Y2 @ Xa ) @ R2 )
                 => ~ ( member1389040324_state @ Y2 @ Q3 ) ) ) )
     => ( wf_Pro1783588484_state @ R2 ) ) ).

% wfI_min
thf(fact_181_wfI__min,axiom,
    ! [R2: set_Pr1490359111at_nat] :
      ( ! [X3: product_prod_nat_nat,Q3: set_Pr1986765409at_nat] :
          ( ( member701585322at_nat @ X3 @ Q3 )
         => ? [Xa: product_prod_nat_nat] :
              ( ( member701585322at_nat @ Xa @ Q3 )
              & ! [Y2: product_prod_nat_nat] :
                  ( ( member2027625872at_nat @ ( produc1168807639at_nat @ Y2 @ Xa ) @ R2 )
                 => ~ ( member701585322at_nat @ Y2 @ Q3 ) ) ) )
     => ( wf_Pro745352042at_nat @ R2 ) ) ).

% wfI_min
thf(fact_182_wfI__min,axiom,
    ! [R2: set_Pr1702239303tate_o] :
      ( ! [X3: produc696469763tate_o,Q3: set_Pr1590995257tate_o] :
          ( ( member1838112666tate_o @ X3 @ Q3 )
         => ? [Xa: produc696469763tate_o] :
              ( ( member1838112666tate_o @ Xa @ Q3 )
              & ! [Y2: produc696469763tate_o] :
                  ( ( member1629320336tate_o @ ( produc1684562079tate_o @ Y2 @ Xa ) @ R2 )
                 => ~ ( member1838112666tate_o @ Y2 @ Q3 ) ) ) )
     => ( wf_Pro309705690tate_o @ R2 ) ) ).

% wfI_min
thf(fact_183_wfI__min,axiom,
    ! [R2: set_Pr795498619_state] :
      ( ! [X3: state,Q3: set_state] :
          ( ( member_state @ X3 @ Q3 )
         => ? [Xa: state] :
              ( ( member_state @ Xa @ Q3 )
              & ! [Y2: state] :
                  ( ( member1389040324_state @ ( produc64584659_state @ Y2 @ Xa ) @ R2 )
                 => ~ ( member_state @ Y2 @ Q3 ) ) ) )
     => ( wf_state @ R2 ) ) ).

% wfI_min
thf(fact_184_wfI__min,axiom,
    ! [R2: set_Pr1986765409at_nat] :
      ( ! [X3: nat,Q3: set_nat] :
          ( ( member_nat @ X3 @ Q3 )
         => ? [Xa: nat] :
              ( ( member_nat @ Xa @ Q3 )
              & ! [Y2: nat] :
                  ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y2 @ Xa ) @ R2 )
                 => ~ ( member_nat @ Y2 @ Q3 ) ) ) )
     => ( wf_nat @ R2 ) ) ).

% wfI_min
thf(fact_185_wfUNIVI,axiom,
    ! [R: set_Pr795498619_state] :
      ( ! [P5: state > $o,X3: state] :
          ( ! [Xa: state] :
              ( ! [Y2: state] :
                  ( ( member1389040324_state @ ( produc64584659_state @ Y2 @ Xa ) @ R )
                 => ( P5 @ Y2 ) )
             => ( P5 @ Xa ) )
         => ( P5 @ X3 ) )
     => ( wf_state @ R ) ) ).

% wfUNIVI
thf(fact_186_wfUNIVI,axiom,
    ! [R: set_Pr1986765409at_nat] :
      ( ! [P5: nat > $o,X3: nat] :
          ( ! [Xa: nat] :
              ( ! [Y2: nat] :
                  ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y2 @ Xa ) @ R )
                 => ( P5 @ Y2 ) )
             => ( P5 @ Xa ) )
         => ( P5 @ X3 ) )
     => ( wf_nat @ R ) ) ).

% wfUNIVI
thf(fact_187_wf__asym,axiom,
    ! [R: set_Pr795498619_state,A: state,X2: state] :
      ( ( wf_state @ R )
     => ( ( member1389040324_state @ ( produc64584659_state @ A @ X2 ) @ R )
       => ~ ( member1389040324_state @ ( produc64584659_state @ X2 @ A ) @ R ) ) ) ).

% wf_asym
thf(fact_188_wf__asym,axiom,
    ! [R: set_Pr1986765409at_nat,A: nat,X2: nat] :
      ( ( wf_nat @ R )
     => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ X2 ) @ R )
       => ~ ( member701585322at_nat @ ( product_Pair_nat_nat @ X2 @ A ) @ R ) ) ) ).

% wf_asym
thf(fact_189_wf__induct,axiom,
    ! [R: set_Pr795498619_state,P: state > $o,A: state] :
      ( ( wf_state @ R )
     => ( ! [X3: state] :
            ( ! [Y4: state] :
                ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ X3 ) @ R )
               => ( P @ Y4 ) )
           => ( P @ X3 ) )
       => ( P @ A ) ) ) ).

% wf_induct
thf(fact_190_wf__induct,axiom,
    ! [R: set_Pr1986765409at_nat,P: nat > $o,A: nat] :
      ( ( wf_nat @ R )
     => ( ! [X3: nat] :
            ( ! [Y4: nat] :
                ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y4 @ X3 ) @ R )
               => ( P @ Y4 ) )
           => ( P @ X3 ) )
       => ( P @ A ) ) ) ).

% wf_induct
thf(fact_191_wf__irrefl,axiom,
    ! [R: set_Pr795498619_state,A: state] :
      ( ( wf_state @ R )
     => ~ ( member1389040324_state @ ( produc64584659_state @ A @ A ) @ R ) ) ).

% wf_irrefl
thf(fact_192_wf__irrefl,axiom,
    ! [R: set_Pr1986765409at_nat,A: nat] :
      ( ( wf_nat @ R )
     => ~ ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ A ) @ R ) ) ).

% wf_irrefl
thf(fact_193_wf__not__sym,axiom,
    ! [R: set_Pr795498619_state,A: state,X2: state] :
      ( ( wf_state @ R )
     => ( ( member1389040324_state @ ( produc64584659_state @ A @ X2 ) @ R )
       => ~ ( member1389040324_state @ ( produc64584659_state @ X2 @ A ) @ R ) ) ) ).

% wf_not_sym
thf(fact_194_wf__not__sym,axiom,
    ! [R: set_Pr1986765409at_nat,A: nat,X2: nat] :
      ( ( wf_nat @ R )
     => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ X2 ) @ R )
       => ~ ( member701585322at_nat @ ( product_Pair_nat_nat @ X2 @ A ) @ R ) ) ) ).

% wf_not_sym
thf(fact_195_wf__not__refl,axiom,
    ! [R: set_Pr795498619_state,A: state] :
      ( ( wf_state @ R )
     => ~ ( member1389040324_state @ ( produc64584659_state @ A @ A ) @ R ) ) ).

% wf_not_refl
thf(fact_196_wf__not__refl,axiom,
    ! [R: set_Pr1986765409at_nat,A: nat] :
      ( ( wf_nat @ R )
     => ~ ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ A ) @ R ) ) ).

% wf_not_refl
thf(fact_197_wf__eq__minimal,axiom,
    ( wf_Pro1783588484_state
    = ( ^ [R3: set_Pr778812871_state] :
        ! [Q4: set_Pr795498619_state] :
          ( ? [X: produc1115495963_state] : ( member1389040324_state @ X @ Q4 )
         => ? [X: produc1115495963_state] :
              ( ( member1389040324_state @ X @ Q4 )
              & ! [Y5: produc1115495963_state] :
                  ( ( member768948240_state @ ( produc1964772951_state @ Y5 @ X ) @ R3 )
                 => ~ ( member1389040324_state @ Y5 @ Q4 ) ) ) ) ) ) ).

% wf_eq_minimal
thf(fact_198_wf__eq__minimal,axiom,
    ( wf_Pro745352042at_nat
    = ( ^ [R3: set_Pr1490359111at_nat] :
        ! [Q4: set_Pr1986765409at_nat] :
          ( ? [X: product_prod_nat_nat] : ( member701585322at_nat @ X @ Q4 )
         => ? [X: product_prod_nat_nat] :
              ( ( member701585322at_nat @ X @ Q4 )
              & ! [Y5: product_prod_nat_nat] :
                  ( ( member2027625872at_nat @ ( produc1168807639at_nat @ Y5 @ X ) @ R3 )
                 => ~ ( member701585322at_nat @ Y5 @ Q4 ) ) ) ) ) ) ).

% wf_eq_minimal
thf(fact_199_wf__eq__minimal,axiom,
    ( wf_Pro309705690tate_o
    = ( ^ [R3: set_Pr1702239303tate_o] :
        ! [Q4: set_Pr1590995257tate_o] :
          ( ? [X: produc696469763tate_o] : ( member1838112666tate_o @ X @ Q4 )
         => ? [X: produc696469763tate_o] :
              ( ( member1838112666tate_o @ X @ Q4 )
              & ! [Y5: produc696469763tate_o] :
                  ( ( member1629320336tate_o @ ( produc1684562079tate_o @ Y5 @ X ) @ R3 )
                 => ~ ( member1838112666tate_o @ Y5 @ Q4 ) ) ) ) ) ) ).

% wf_eq_minimal
thf(fact_200_wf__eq__minimal,axiom,
    ( wf_state
    = ( ^ [R3: set_Pr795498619_state] :
        ! [Q4: set_state] :
          ( ? [X: state] : ( member_state @ X @ Q4 )
         => ? [X: state] :
              ( ( member_state @ X @ Q4 )
              & ! [Y5: state] :
                  ( ( member1389040324_state @ ( produc64584659_state @ Y5 @ X ) @ R3 )
                 => ~ ( member_state @ Y5 @ Q4 ) ) ) ) ) ) ).

% wf_eq_minimal
thf(fact_201_wf__eq__minimal,axiom,
    ( wf_nat
    = ( ^ [R3: set_Pr1986765409at_nat] :
        ! [Q4: set_nat] :
          ( ? [X: nat] : ( member_nat @ X @ Q4 )
         => ? [X: nat] :
              ( ( member_nat @ X @ Q4 )
              & ! [Y5: nat] :
                  ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y5 @ X ) @ R3 )
                 => ~ ( member_nat @ Y5 @ Q4 ) ) ) ) ) ) ).

% wf_eq_minimal
thf(fact_202_wf__induct__rule,axiom,
    ! [R: set_Pr795498619_state,P: state > $o,A: state] :
      ( ( wf_state @ R )
     => ( ! [X3: state] :
            ( ! [Y4: state] :
                ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ X3 ) @ R )
               => ( P @ Y4 ) )
           => ( P @ X3 ) )
       => ( P @ A ) ) ) ).

% wf_induct_rule
thf(fact_203_wf__induct__rule,axiom,
    ! [R: set_Pr1986765409at_nat,P: nat > $o,A: nat] :
      ( ( wf_nat @ R )
     => ( ! [X3: nat] :
            ( ! [Y4: nat] :
                ( ( member701585322at_nat @ ( product_Pair_nat_nat @ Y4 @ X3 ) @ R )
               => ( P @ Y4 ) )
           => ( P @ X3 ) )
       => ( P @ A ) ) ) ).

% wf_induct_rule
thf(fact_204_prod__cases3,axiom,
    ! [Y3: produc696469763tate_o] :
      ~ ! [A6: a > state > $o,B6: com,C4: a > state > $o] :
          ( Y3
         != ( produc33908149tate_o @ A6 @ ( produc1948644831tate_o @ B6 @ C4 ) ) ) ).

% prod_cases3
thf(fact_205_prod__induct3,axiom,
    ! [P: produc696469763tate_o > $o,X2: produc696469763tate_o] :
      ( ! [A6: a > state > $o,B6: com,C4: a > state > $o] : ( P @ ( produc33908149tate_o @ A6 @ ( produc1948644831tate_o @ B6 @ C4 ) ) )
     => ( P @ X2 ) ) ).

% prod_induct3
thf(fact_206_bot__empty__eq2,axiom,
    ( bot_bo935656620te_o_o
    = ( ^ [X: com,Y5: a > state > $o] : ( member221067728tate_o @ ( produc1948644831tate_o @ X @ Y5 ) @ bot_bo1692783091tate_o ) ) ) ).

% bot_empty_eq2
thf(fact_207_bot__empty__eq2,axiom,
    ( bot_bo2130564770te_o_o
    = ( ^ [X: a > state > $o,Y5: produc204914599tate_o] : ( member1838112666tate_o @ ( produc33908149tate_o @ X @ Y5 ) @ bot_bo170732493tate_o ) ) ) ).

% bot_empty_eq2
thf(fact_208_bot__empty__eq2,axiom,
    ( bot_bot_nat_nat_o
    = ( ^ [X: nat,Y5: nat] : ( member701585322at_nat @ ( product_Pair_nat_nat @ X @ Y5 ) @ bot_bo2130386637at_nat ) ) ) ).

% bot_empty_eq2
thf(fact_209_bot__empty__eq2,axiom,
    ( bot_bo51534648tate_o
    = ( ^ [X: state,Y5: state] : ( member1389040324_state @ ( produc64584659_state @ X @ Y5 ) @ bot_bo1625160935_state ) ) ) ).

% bot_empty_eq2
thf(fact_210_wf__measure,axiom,
    ! [F: state > nat] : ( wf_state @ ( measure_state @ F ) ) ).

% wf_measure
thf(fact_211_wf__measure,axiom,
    ! [F: nat > nat] : ( wf_nat @ ( measure_nat @ F ) ) ).

% wf_measure
thf(fact_212_thoare_OWhile,axiom,
    ! [R: set_Pr795498619_state,C: set_Pr1590995257tate_o,P: a > state > $o,B2: state > $o,C2: com] :
      ( ( wf_state @ R )
     => ( ! [S3: state] :
            ( pHoare382919414oare_a @ C
            @ ^ [Z4: a,S4: state] :
                ( ( P @ Z4 @ S4 )
                & ( B2 @ S4 )
                & ( S3 = S4 ) )
            @ C2
            @ ^ [Z4: a,S4: state] :
                ( ( P @ Z4 @ S4 )
                & ( member1389040324_state @ ( produc64584659_state @ S4 @ S3 ) @ R ) ) )
       => ( pHoare382919414oare_a @ C @ P @ ( while @ B2 @ C2 )
          @ ^ [Z4: a,S4: state] :
              ( ( P @ Z4 @ S4 )
              & ~ ( B2 @ S4 ) ) ) ) ) ).

% thoare.While
thf(fact_213_Set_Ois__empty__def,axiom,
    ( is_emp807847857tate_o
    = ( ^ [A5: set_Pr1590995257tate_o] : A5 = bot_bo170732493tate_o ) ) ).

% Set.is_empty_def
thf(fact_214_Set_Ois__empty__def,axiom,
    ( is_emp825011411at_nat
    = ( ^ [A5: set_Pr1986765409at_nat] : A5 = bot_bo2130386637at_nat ) ) ).

% Set.is_empty_def
thf(fact_215_Set_Ois__empty__def,axiom,
    ( is_emp1062983149_state
    = ( ^ [A5: set_Pr795498619_state] : A5 = bot_bo1625160935_state ) ) ).

% Set.is_empty_def
thf(fact_216_com_Oinject_I4_J,axiom,
    ! [X41: state > $o,X42: com,Y41: state > $o,Y42: com] :
      ( ( ( while @ X41 @ X42 )
        = ( while @ Y41 @ Y42 ) )
      = ( ( X41 = Y41 )
        & ( X42 = Y42 ) ) ) ).

% com.inject(4)
thf(fact_217_com_Odistinct_I25_J,axiom,
    ! [X41: state > $o,X42: com] :
      ( ( while @ X41 @ X42 )
     != call ) ).

% com.distinct(25)
thf(fact_218_exec_OWhileFalse,axiom,
    ! [B2: state > $o,S2: state,C2: com] :
      ( ~ ( B2 @ S2 )
     => ( exec @ S2 @ ( while @ B2 @ C2 ) @ S2 ) ) ).

% exec.WhileFalse
thf(fact_219_exec_OWhileTrue,axiom,
    ! [B2: state > $o,S2: state,C2: com,T2: state,U2: state] :
      ( ( B2 @ S2 )
     => ( ( exec @ S2 @ C2 @ T2 )
       => ( ( exec @ T2 @ ( while @ B2 @ C2 ) @ U2 )
         => ( exec @ S2 @ ( while @ B2 @ C2 ) @ U2 ) ) ) ) ).

% exec.WhileTrue
thf(fact_220_termi_OWhileFalse,axiom,
    ! [B2: state > $o,S2: state,C2: com] :
      ( ~ ( B2 @ S2 )
     => ( termi @ ( while @ B2 @ C2 ) @ S2 ) ) ).

% termi.WhileFalse
thf(fact_221_termi_OWhileTrue,axiom,
    ! [B2: state > $o,S2: state,C2: com] :
      ( ( B2 @ S2 )
     => ( ( termi @ C2 @ S2 )
       => ( ! [T: state] :
              ( ( exec @ S2 @ C2 @ T )
             => ( termi @ ( while @ B2 @ C2 ) @ T ) )
         => ( termi @ ( while @ B2 @ C2 ) @ S2 ) ) ) ) ).

% termi.WhileTrue
thf(fact_222_bot__empty__eq,axiom,
    ( bot_bo250281208te_o_o
    = ( ^ [X: produc696469763tate_o] : ( member1838112666tate_o @ X @ bot_bo170732493tate_o ) ) ) ).

% bot_empty_eq
thf(fact_223_bot__empty__eq,axiom,
    ( bot_bo513358416_nat_o
    = ( ^ [X: product_prod_nat_nat] : ( member701585322at_nat @ X @ bot_bo2130386637at_nat ) ) ) ).

% bot_empty_eq
thf(fact_224_bot__empty__eq,axiom,
    ( bot_bo446391478tate_o
    = ( ^ [X: produc1115495963_state] : ( member1389040324_state @ X @ bot_bo1625160935_state ) ) ) ).

% bot_empty_eq
thf(fact_225_pred__equals__eq2,axiom,
    ! [R2: set_Pr1590995257tate_o,S5: set_Pr1590995257tate_o] :
      ( ( ( ^ [X: a > state > $o,Y5: produc204914599tate_o] : ( member1838112666tate_o @ ( produc33908149tate_o @ X @ Y5 ) @ R2 ) )
        = ( ^ [X: a > state > $o,Y5: produc204914599tate_o] : ( member1838112666tate_o @ ( produc33908149tate_o @ X @ Y5 ) @ S5 ) ) )
      = ( R2 = S5 ) ) ).

% pred_equals_eq2
thf(fact_226_pred__equals__eq2,axiom,
    ! [R2: set_Pr795498619_state,S5: set_Pr795498619_state] :
      ( ( ( ^ [X: state,Y5: state] : ( member1389040324_state @ ( produc64584659_state @ X @ Y5 ) @ R2 ) )
        = ( ^ [X: state,Y5: state] : ( member1389040324_state @ ( produc64584659_state @ X @ Y5 ) @ S5 ) ) )
      = ( R2 = S5 ) ) ).

% pred_equals_eq2
thf(fact_227_pred__equals__eq2,axiom,
    ! [R2: set_Pr1740974983tate_o,S5: set_Pr1740974983tate_o] :
      ( ( ( ^ [X: com,Y5: a > state > $o] : ( member221067728tate_o @ ( produc1948644831tate_o @ X @ Y5 ) @ R2 ) )
        = ( ^ [X: com,Y5: a > state > $o] : ( member221067728tate_o @ ( produc1948644831tate_o @ X @ Y5 ) @ S5 ) ) )
      = ( R2 = S5 ) ) ).

% pred_equals_eq2
thf(fact_228_pred__equals__eq2,axiom,
    ! [R2: set_Pr1986765409at_nat,S5: set_Pr1986765409at_nat] :
      ( ( ( ^ [X: nat,Y5: nat] : ( member701585322at_nat @ ( product_Pair_nat_nat @ X @ Y5 ) @ R2 ) )
        = ( ^ [X: nat,Y5: nat] : ( member701585322at_nat @ ( product_Pair_nat_nat @ X @ Y5 ) @ S5 ) ) )
      = ( R2 = S5 ) ) ).

% pred_equals_eq2
thf(fact_229_Collect__empty__eq__bot,axiom,
    ! [P: produc696469763tate_o > $o] :
      ( ( ( collec1499596504tate_o @ P )
        = bot_bo170732493tate_o )
      = ( P = bot_bo250281208te_o_o ) ) ).

% Collect_empty_eq_bot
thf(fact_230_Collect__empty__eq__bot,axiom,
    ! [P: product_prod_nat_nat > $o] :
      ( ( ( collec7649004at_nat @ P )
        = bot_bo2130386637at_nat )
      = ( P = bot_bo513358416_nat_o ) ) ).

% Collect_empty_eq_bot
thf(fact_231_Collect__empty__eq__bot,axiom,
    ! [P: produc1115495963_state > $o] :
      ( ( ( collec496201222_state @ P )
        = bot_bo1625160935_state )
      = ( P = bot_bo446391478tate_o ) ) ).

% Collect_empty_eq_bot
thf(fact_232_total__on__singleton,axiom,
    ! [X2: nat] : ( total_on_nat @ ( insert_nat @ X2 @ bot_bot_set_nat ) @ ( insert271595217at_nat @ ( product_Pair_nat_nat @ X2 @ X2 ) @ bot_bo2130386637at_nat ) ) ).

% total_on_singleton
thf(fact_233_total__on__singleton,axiom,
    ! [X2: state] : ( total_on_state @ ( insert_state @ X2 @ bot_bot_set_state ) @ ( insert311944171_state @ ( produc64584659_state @ X2 @ X2 ) @ bot_bo1625160935_state ) ) ).

% total_on_singleton
thf(fact_234_total__on__singleton,axiom,
    ! [X2: produc696469763tate_o] : ( total_795385983tate_o @ ( insert2053719859tate_o @ X2 @ bot_bo170732493tate_o ) @ ( insert1597128631tate_o @ ( produc1684562079tate_o @ X2 @ X2 ) @ bot_bo1714653363tate_o ) ) ).

% total_on_singleton
thf(fact_235_total__on__singleton,axiom,
    ! [X2: product_prod_nat_nat] : ( total_1775715973at_nat @ ( insert271595217at_nat @ X2 @ bot_bo2130386637at_nat ) @ ( insert584009271at_nat @ ( produc1168807639at_nat @ X2 @ X2 ) @ bot_bo34127283at_nat ) ) ).

% total_on_singleton
thf(fact_236_total__on__singleton,axiom,
    ! [X2: produc1115495963_state] : ( total_1316653983_state @ ( insert311944171_state @ X2 @ bot_bo1625160935_state ) @ ( insert1616594103_state @ ( produc1964772951_state @ X2 @ X2 ) @ bot_bo1331673139_state ) ) ).

% total_on_singleton
thf(fact_237_refl__on__singleton,axiom,
    ! [X2: nat] : ( refl_on_nat @ ( insert_nat @ X2 @ bot_bot_set_nat ) @ ( insert271595217at_nat @ ( product_Pair_nat_nat @ X2 @ X2 ) @ bot_bo2130386637at_nat ) ) ).

% refl_on_singleton
thf(fact_238_refl__on__singleton,axiom,
    ! [X2: state] : ( refl_on_state @ ( insert_state @ X2 @ bot_bot_set_state ) @ ( insert311944171_state @ ( produc64584659_state @ X2 @ X2 ) @ bot_bo1625160935_state ) ) ).

% refl_on_singleton
thf(fact_239_refl__on__singleton,axiom,
    ! [X2: produc696469763tate_o] : ( refl_o489021252tate_o @ ( insert2053719859tate_o @ X2 @ bot_bo170732493tate_o ) @ ( insert1597128631tate_o @ ( produc1684562079tate_o @ X2 @ X2 ) @ bot_bo1714653363tate_o ) ) ).

% refl_on_singleton
thf(fact_240_refl__on__singleton,axiom,
    ! [X2: product_prod_nat_nat] : ( refl_o1619599232at_nat @ ( insert271595217at_nat @ X2 @ bot_bo2130386637at_nat ) @ ( insert584009271at_nat @ ( produc1168807639at_nat @ X2 @ X2 ) @ bot_bo34127283at_nat ) ) ).

% refl_on_singleton
thf(fact_241_refl__on__singleton,axiom,
    ! [X2: produc1115495963_state] : ( refl_o1438232218_state @ ( insert311944171_state @ X2 @ bot_bo1625160935_state ) @ ( insert1616594103_state @ ( produc1964772951_state @ X2 @ X2 ) @ bot_bo1331673139_state ) ) ).

% refl_on_singleton
thf(fact_242_wf__termi,axiom,
    ! [B2: state > $o,C2: com] :
      ( wf_state
      @ ( collec496201222_state
        @ ( produc789892016tate_o
          @ ^ [T3: state,S4: state] :
              ( ( termi @ ( while @ B2 @ C2 ) @ S4 )
              & ( B2 @ S4 )
              & ( exec @ S4 @ C2 @ T3 ) ) ) ) ) ).

% wf_termi
thf(fact_243_linear__order__on__singleton,axiom,
    ! [X2: nat] : ( order_130026331on_nat @ ( insert_nat @ X2 @ bot_bot_set_nat ) @ ( insert271595217at_nat @ ( product_Pair_nat_nat @ X2 @ X2 ) @ bot_bo2130386637at_nat ) ) ).

% linear_order_on_singleton
thf(fact_244_linear__order__on__singleton,axiom,
    ! [X2: state] : ( order_286167592_state @ ( insert_state @ X2 @ bot_bot_set_state ) @ ( insert311944171_state @ ( produc64584659_state @ X2 @ X2 ) @ bot_bo1625160935_state ) ) ).

% linear_order_on_singleton
thf(fact_245_linear__order__on__singleton,axiom,
    ! [X2: produc696469763tate_o] : ( order_50454158tate_o @ ( insert2053719859tate_o @ X2 @ bot_bo170732493tate_o ) @ ( insert1597128631tate_o @ ( produc1684562079tate_o @ X2 @ X2 ) @ bot_bo1714653363tate_o ) ) ).

% linear_order_on_singleton
thf(fact_246_linear__order__on__singleton,axiom,
    ! [X2: product_prod_nat_nat] : ( order_721919926at_nat @ ( insert271595217at_nat @ X2 @ bot_bo2130386637at_nat ) @ ( insert584009271at_nat @ ( produc1168807639at_nat @ X2 @ X2 ) @ bot_bo34127283at_nat ) ) ).

% linear_order_on_singleton
thf(fact_247_linear__order__on__singleton,axiom,
    ! [X2: produc1115495963_state] : ( order_178668240_state @ ( insert311944171_state @ X2 @ bot_bo1625160935_state ) @ ( insert1616594103_state @ ( produc1964772951_state @ X2 @ X2 ) @ bot_bo1331673139_state ) ) ).

% linear_order_on_singleton
thf(fact_248_split__part,axiom,
    ! [P: $o,Q: state > state > $o] :
      ( ( produc789892016tate_o
        @ ^ [A3: state,B7: state] :
            ( P
            & ( Q @ A3 @ B7 ) ) )
      = ( ^ [Ab: produc1115495963_state] :
            ( P
            & ( produc789892016tate_o @ Q @ Ab ) ) ) ) ).

% split_part
thf(fact_249_split__part,axiom,
    ! [P: $o,Q: nat > nat > $o] :
      ( ( produc949581770_nat_o
        @ ^ [A3: nat,B7: nat] :
            ( P
            & ( Q @ A3 @ B7 ) ) )
      = ( ^ [Ab: product_prod_nat_nat] :
            ( P
            & ( produc949581770_nat_o @ Q @ Ab ) ) ) ) ).

% split_part
thf(fact_250_case__prod__conv,axiom,
    ! [F: state > state > $o,A: state,B2: state] :
      ( ( produc789892016tate_o @ F @ ( produc64584659_state @ A @ B2 ) )
      = ( F @ A @ B2 ) ) ).

% case_prod_conv
thf(fact_251_case__prod__conv,axiom,
    ! [F: nat > nat > $o,A: nat,B2: nat] :
      ( ( produc949581770_nat_o @ F @ ( product_Pair_nat_nat @ A @ B2 ) )
      = ( F @ A @ B2 ) ) ).

% case_prod_conv
thf(fact_252_case__prodI,axiom,
    ! [F: ( a > state > $o ) > produc204914599tate_o > $o,A: a > state > $o,B2: produc204914599tate_o] :
      ( ( F @ A @ B2 )
     => ( produc1271576886te_o_o @ F @ ( produc33908149tate_o @ A @ B2 ) ) ) ).

% case_prodI
thf(fact_253_case__prodI,axiom,
    ! [F: com > ( a > state > $o ) > $o,A: com,B2: a > state > $o] :
      ( ( F @ A @ B2 )
     => ( produc281270436te_o_o @ F @ ( produc1948644831tate_o @ A @ B2 ) ) ) ).

% case_prodI
thf(fact_254_case__prodI,axiom,
    ! [F: state > state > $o,A: state,B2: state] :
      ( ( F @ A @ B2 )
     => ( produc789892016tate_o @ F @ ( produc64584659_state @ A @ B2 ) ) ) ).

% case_prodI
thf(fact_255_case__prodI,axiom,
    ! [F: nat > nat > $o,A: nat,B2: nat] :
      ( ( F @ A @ B2 )
     => ( produc949581770_nat_o @ F @ ( product_Pair_nat_nat @ A @ B2 ) ) ) ).

% case_prodI
thf(fact_256_case__prodI2,axiom,
    ! [P3: produc696469763tate_o,C2: ( a > state > $o ) > produc204914599tate_o > $o] :
      ( ! [A6: a > state > $o,B6: produc204914599tate_o] :
          ( ( P3
            = ( produc33908149tate_o @ A6 @ B6 ) )
         => ( C2 @ A6 @ B6 ) )
     => ( produc1271576886te_o_o @ C2 @ P3 ) ) ).

% case_prodI2
thf(fact_257_case__prodI2,axiom,
    ! [P3: produc204914599tate_o,C2: com > ( a > state > $o ) > $o] :
      ( ! [A6: com,B6: a > state > $o] :
          ( ( P3
            = ( produc1948644831tate_o @ A6 @ B6 ) )
         => ( C2 @ A6 @ B6 ) )
     => ( produc281270436te_o_o @ C2 @ P3 ) ) ).

% case_prodI2
thf(fact_258_case__prodI2,axiom,
    ! [P3: produc1115495963_state,C2: state > state > $o] :
      ( ! [A6: state,B6: state] :
          ( ( P3
            = ( produc64584659_state @ A6 @ B6 ) )
         => ( C2 @ A6 @ B6 ) )
     => ( produc789892016tate_o @ C2 @ P3 ) ) ).

% case_prodI2
thf(fact_259_case__prodI2,axiom,
    ! [P3: product_prod_nat_nat,C2: nat > nat > $o] :
      ( ! [A6: nat,B6: nat] :
          ( ( P3
            = ( product_Pair_nat_nat @ A6 @ B6 ) )
         => ( C2 @ A6 @ B6 ) )
     => ( produc949581770_nat_o @ C2 @ P3 ) ) ).

% case_prodI2
thf(fact_260_refl__on__domain,axiom,
    ! [A2: set_Pr795498619_state,R: set_Pr778812871_state,A: produc1115495963_state,B2: produc1115495963_state] :
      ( ( refl_o1438232218_state @ A2 @ R )
     => ( ( member768948240_state @ ( produc1964772951_state @ A @ B2 ) @ R )
       => ( ( member1389040324_state @ A @ A2 )
          & ( member1389040324_state @ B2 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_261_refl__on__domain,axiom,
    ! [A2: set_Pr1986765409at_nat,R: set_Pr1490359111at_nat,A: product_prod_nat_nat,B2: product_prod_nat_nat] :
      ( ( refl_o1619599232at_nat @ A2 @ R )
     => ( ( member2027625872at_nat @ ( produc1168807639at_nat @ A @ B2 ) @ R )
       => ( ( member701585322at_nat @ A @ A2 )
          & ( member701585322at_nat @ B2 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_262_refl__on__domain,axiom,
    ! [A2: set_Pr1590995257tate_o,R: set_Pr1702239303tate_o,A: produc696469763tate_o,B2: produc696469763tate_o] :
      ( ( refl_o489021252tate_o @ A2 @ R )
     => ( ( member1629320336tate_o @ ( produc1684562079tate_o @ A @ B2 ) @ R )
       => ( ( member1838112666tate_o @ A @ A2 )
          & ( member1838112666tate_o @ B2 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_263_refl__on__domain,axiom,
    ! [A2: set_state,R: set_Pr795498619_state,A: state,B2: state] :
      ( ( refl_on_state @ A2 @ R )
     => ( ( member1389040324_state @ ( produc64584659_state @ A @ B2 ) @ R )
       => ( ( member_state @ A @ A2 )
          & ( member_state @ B2 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_264_refl__on__domain,axiom,
    ! [A2: set_nat,R: set_Pr1986765409at_nat,A: nat,B2: nat] :
      ( ( refl_on_nat @ A2 @ R )
     => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ B2 ) @ R )
       => ( ( member_nat @ A @ A2 )
          & ( member_nat @ B2 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_265_prod_Ocase__distrib,axiom,
    ! [H: $o > $o,F: state > state > $o,Prod: produc1115495963_state] :
      ( ( H @ ( produc789892016tate_o @ F @ Prod ) )
      = ( produc789892016tate_o
        @ ^ [X12: state,X23: state] : ( H @ ( F @ X12 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_266_prod_Ocase__distrib,axiom,
    ! [H: $o > $o,F: nat > nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc949581770_nat_o @ F @ Prod ) )
      = ( produc949581770_nat_o
        @ ^ [X12: nat,X23: nat] : ( H @ ( F @ X12 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_267_prod_Odisc__eq__case,axiom,
    ! [Prod: produc1115495963_state] :
      ( produc789892016tate_o
      @ ^ [Uu: state,Uv: state] : $true
      @ Prod ) ).

% prod.disc_eq_case
thf(fact_268_prod_Odisc__eq__case,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( produc949581770_nat_o
      @ ^ [Uu: nat,Uv: nat] : $true
      @ Prod ) ).

% prod.disc_eq_case
thf(fact_269_old_Oprod_Ocase,axiom,
    ! [F: state > state > $o,X1: state,X22: state] :
      ( ( produc789892016tate_o @ F @ ( produc64584659_state @ X1 @ X22 ) )
      = ( F @ X1 @ X22 ) ) ).

% old.prod.case
thf(fact_270_old_Oprod_Ocase,axiom,
    ! [F: nat > nat > $o,X1: nat,X22: nat] :
      ( ( produc949581770_nat_o @ F @ ( product_Pair_nat_nat @ X1 @ X22 ) )
      = ( F @ X1 @ X22 ) ) ).

% old.prod.case
thf(fact_271_refl__onD2,axiom,
    ! [A2: set_Pr795498619_state,R: set_Pr778812871_state,X2: produc1115495963_state,Y3: produc1115495963_state] :
      ( ( refl_o1438232218_state @ A2 @ R )
     => ( ( member768948240_state @ ( produc1964772951_state @ X2 @ Y3 ) @ R )
       => ( member1389040324_state @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_272_refl__onD2,axiom,
    ! [A2: set_Pr1986765409at_nat,R: set_Pr1490359111at_nat,X2: product_prod_nat_nat,Y3: product_prod_nat_nat] :
      ( ( refl_o1619599232at_nat @ A2 @ R )
     => ( ( member2027625872at_nat @ ( produc1168807639at_nat @ X2 @ Y3 ) @ R )
       => ( member701585322at_nat @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_273_refl__onD2,axiom,
    ! [A2: set_Pr1590995257tate_o,R: set_Pr1702239303tate_o,X2: produc696469763tate_o,Y3: produc696469763tate_o] :
      ( ( refl_o489021252tate_o @ A2 @ R )
     => ( ( member1629320336tate_o @ ( produc1684562079tate_o @ X2 @ Y3 ) @ R )
       => ( member1838112666tate_o @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_274_refl__onD2,axiom,
    ! [A2: set_state,R: set_Pr795498619_state,X2: state,Y3: state] :
      ( ( refl_on_state @ A2 @ R )
     => ( ( member1389040324_state @ ( produc64584659_state @ X2 @ Y3 ) @ R )
       => ( member_state @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_275_refl__onD2,axiom,
    ! [A2: set_nat,R: set_Pr1986765409at_nat,X2: nat,Y3: nat] :
      ( ( refl_on_nat @ A2 @ R )
     => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ R )
       => ( member_nat @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_276_refl__onD1,axiom,
    ! [A2: set_Pr795498619_state,R: set_Pr778812871_state,X2: produc1115495963_state,Y3: produc1115495963_state] :
      ( ( refl_o1438232218_state @ A2 @ R )
     => ( ( member768948240_state @ ( produc1964772951_state @ X2 @ Y3 ) @ R )
       => ( member1389040324_state @ X2 @ A2 ) ) ) ).

% refl_onD1
thf(fact_277_refl__onD1,axiom,
    ! [A2: set_Pr1986765409at_nat,R: set_Pr1490359111at_nat,X2: product_prod_nat_nat,Y3: product_prod_nat_nat] :
      ( ( refl_o1619599232at_nat @ A2 @ R )
     => ( ( member2027625872at_nat @ ( produc1168807639at_nat @ X2 @ Y3 ) @ R )
       => ( member701585322at_nat @ X2 @ A2 ) ) ) ).

% refl_onD1
thf(fact_278_refl__onD1,axiom,
    ! [A2: set_Pr1590995257tate_o,R: set_Pr1702239303tate_o,X2: produc696469763tate_o,Y3: produc696469763tate_o] :
      ( ( refl_o489021252tate_o @ A2 @ R )
     => ( ( member1629320336tate_o @ ( produc1684562079tate_o @ X2 @ Y3 ) @ R )
       => ( member1838112666tate_o @ X2 @ A2 ) ) ) ).

% refl_onD1
thf(fact_279_refl__onD1,axiom,
    ! [A2: set_state,R: set_Pr795498619_state,X2: state,Y3: state] :
      ( ( refl_on_state @ A2 @ R )
     => ( ( member1389040324_state @ ( produc64584659_state @ X2 @ Y3 ) @ R )
       => ( member_state @ X2 @ A2 ) ) ) ).

% refl_onD1
thf(fact_280_refl__onD1,axiom,
    ! [A2: set_nat,R: set_Pr1986765409at_nat,X2: nat,Y3: nat] :
      ( ( refl_on_nat @ A2 @ R )
     => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ R )
       => ( member_nat @ X2 @ A2 ) ) ) ).

% refl_onD1
thf(fact_281_refl__onD,axiom,
    ! [A2: set_Pr795498619_state,R: set_Pr778812871_state,A: produc1115495963_state] :
      ( ( refl_o1438232218_state @ A2 @ R )
     => ( ( member1389040324_state @ A @ A2 )
       => ( member768948240_state @ ( produc1964772951_state @ A @ A ) @ R ) ) ) ).

% refl_onD
thf(fact_282_refl__onD,axiom,
    ! [A2: set_Pr1986765409at_nat,R: set_Pr1490359111at_nat,A: product_prod_nat_nat] :
      ( ( refl_o1619599232at_nat @ A2 @ R )
     => ( ( member701585322at_nat @ A @ A2 )
       => ( member2027625872at_nat @ ( produc1168807639at_nat @ A @ A ) @ R ) ) ) ).

% refl_onD
thf(fact_283_refl__onD,axiom,
    ! [A2: set_Pr1590995257tate_o,R: set_Pr1702239303tate_o,A: produc696469763tate_o] :
      ( ( refl_o489021252tate_o @ A2 @ R )
     => ( ( member1838112666tate_o @ A @ A2 )
       => ( member1629320336tate_o @ ( produc1684562079tate_o @ A @ A ) @ R ) ) ) ).

% refl_onD
thf(fact_284_refl__onD,axiom,
    ! [A2: set_state,R: set_Pr795498619_state,A: state] :
      ( ( refl_on_state @ A2 @ R )
     => ( ( member_state @ A @ A2 )
       => ( member1389040324_state @ ( produc64584659_state @ A @ A ) @ R ) ) ) ).

% refl_onD
thf(fact_285_refl__onD,axiom,
    ! [A2: set_nat,R: set_Pr1986765409at_nat,A: nat] :
      ( ( refl_on_nat @ A2 @ R )
     => ( ( member_nat @ A @ A2 )
       => ( member701585322at_nat @ ( product_Pair_nat_nat @ A @ A ) @ R ) ) ) ).

% refl_onD
thf(fact_286_case__prodD,axiom,
    ! [F: ( a > state > $o ) > produc204914599tate_o > $o,A: a > state > $o,B2: produc204914599tate_o] :
      ( ( produc1271576886te_o_o @ F @ ( produc33908149tate_o @ A @ B2 ) )
     => ( F @ A @ B2 ) ) ).

% case_prodD
thf(fact_287_case__prodD,axiom,
    ! [F: com > ( a > state > $o ) > $o,A: com,B2: a > state > $o] :
      ( ( produc281270436te_o_o @ F @ ( produc1948644831tate_o @ A @ B2 ) )
     => ( F @ A @ B2 ) ) ).

% case_prodD
thf(fact_288_case__prodD,axiom,
    ! [F: state > state > $o,A: state,B2: state] :
      ( ( produc789892016tate_o @ F @ ( produc64584659_state @ A @ B2 ) )
     => ( F @ A @ B2 ) ) ).

% case_prodD
thf(fact_289_case__prodD,axiom,
    ! [F: nat > nat > $o,A: nat,B2: nat] :
      ( ( produc949581770_nat_o @ F @ ( product_Pair_nat_nat @ A @ B2 ) )
     => ( F @ A @ B2 ) ) ).

% case_prodD
thf(fact_290_case__prodE,axiom,
    ! [C2: ( a > state > $o ) > produc204914599tate_o > $o,P3: produc696469763tate_o] :
      ( ( produc1271576886te_o_o @ C2 @ P3 )
     => ~ ! [X3: a > state > $o,Y2: produc204914599tate_o] :
            ( ( P3
              = ( produc33908149tate_o @ X3 @ Y2 ) )
           => ~ ( C2 @ X3 @ Y2 ) ) ) ).

% case_prodE
thf(fact_291_case__prodE,axiom,
    ! [C2: com > ( a > state > $o ) > $o,P3: produc204914599tate_o] :
      ( ( produc281270436te_o_o @ C2 @ P3 )
     => ~ ! [X3: com,Y2: a > state > $o] :
            ( ( P3
              = ( produc1948644831tate_o @ X3 @ Y2 ) )
           => ~ ( C2 @ X3 @ Y2 ) ) ) ).

% case_prodE
thf(fact_292_case__prodE,axiom,
    ! [C2: state > state > $o,P3: produc1115495963_state] :
      ( ( produc789892016tate_o @ C2 @ P3 )
     => ~ ! [X3: state,Y2: state] :
            ( ( P3
              = ( produc64584659_state @ X3 @ Y2 ) )
           => ~ ( C2 @ X3 @ Y2 ) ) ) ).

% case_prodE
thf(fact_293_case__prodE,axiom,
    ! [C2: nat > nat > $o,P3: product_prod_nat_nat] :
      ( ( produc949581770_nat_o @ C2 @ P3 )
     => ~ ! [X3: nat,Y2: nat] :
            ( ( P3
              = ( product_Pair_nat_nat @ X3 @ Y2 ) )
           => ~ ( C2 @ X3 @ Y2 ) ) ) ).

% case_prodE
thf(fact_294_total__on__def,axiom,
    ( total_on_state
    = ( ^ [A5: set_state,R3: set_Pr795498619_state] :
        ! [X: state] :
          ( ( member_state @ X @ A5 )
         => ! [Y5: state] :
              ( ( member_state @ Y5 @ A5 )
             => ( ( X != Y5 )
               => ( ( member1389040324_state @ ( produc64584659_state @ X @ Y5 ) @ R3 )
                  | ( member1389040324_state @ ( produc64584659_state @ Y5 @ X ) @ R3 ) ) ) ) ) ) ) ).

% total_on_def
thf(fact_295_total__on__def,axiom,
    ( total_on_nat
    = ( ^ [A5: set_nat,R3: set_Pr1986765409at_nat] :
        ! [X: nat] :
          ( ( member_nat @ X @ A5 )
         => ! [Y5: nat] :
              ( ( member_nat @ Y5 @ A5 )
             => ( ( X != Y5 )
               => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ X @ Y5 ) @ R3 )
                  | ( member701585322at_nat @ ( product_Pair_nat_nat @ Y5 @ X ) @ R3 ) ) ) ) ) ) ) ).

% total_on_def
thf(fact_296_total__onI,axiom,
    ! [A2: set_Pr795498619_state,R: set_Pr778812871_state] :
      ( ! [X3: produc1115495963_state,Y2: produc1115495963_state] :
          ( ( member1389040324_state @ X3 @ A2 )
         => ( ( member1389040324_state @ Y2 @ A2 )
           => ( ( X3 != Y2 )
             => ( ( member768948240_state @ ( produc1964772951_state @ X3 @ Y2 ) @ R )
                | ( member768948240_state @ ( produc1964772951_state @ Y2 @ X3 ) @ R ) ) ) ) )
     => ( total_1316653983_state @ A2 @ R ) ) ).

% total_onI
thf(fact_297_total__onI,axiom,
    ! [A2: set_Pr1986765409at_nat,R: set_Pr1490359111at_nat] :
      ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat] :
          ( ( member701585322at_nat @ X3 @ A2 )
         => ( ( member701585322at_nat @ Y2 @ A2 )
           => ( ( X3 != Y2 )
             => ( ( member2027625872at_nat @ ( produc1168807639at_nat @ X3 @ Y2 ) @ R )
                | ( member2027625872at_nat @ ( produc1168807639at_nat @ Y2 @ X3 ) @ R ) ) ) ) )
     => ( total_1775715973at_nat @ A2 @ R ) ) ).

% total_onI
thf(fact_298_total__onI,axiom,
    ! [A2: set_Pr1590995257tate_o,R: set_Pr1702239303tate_o] :
      ( ! [X3: produc696469763tate_o,Y2: produc696469763tate_o] :
          ( ( member1838112666tate_o @ X3 @ A2 )
         => ( ( member1838112666tate_o @ Y2 @ A2 )
           => ( ( X3 != Y2 )
             => ( ( member1629320336tate_o @ ( produc1684562079tate_o @ X3 @ Y2 ) @ R )
                | ( member1629320336tate_o @ ( produc1684562079tate_o @ Y2 @ X3 ) @ R ) ) ) ) )
     => ( total_795385983tate_o @ A2 @ R ) ) ).

% total_onI
thf(fact_299_total__onI,axiom,
    ! [A2: set_state,R: set_Pr795498619_state] :
      ( ! [X3: state,Y2: state] :
          ( ( member_state @ X3 @ A2 )
         => ( ( member_state @ Y2 @ A2 )
           => ( ( X3 != Y2 )
             => ( ( member1389040324_state @ ( produc64584659_state @ X3 @ Y2 ) @ R )
                | ( member1389040324_state @ ( produc64584659_state @ Y2 @ X3 ) @ R ) ) ) ) )
     => ( total_on_state @ A2 @ R ) ) ).

% total_onI
thf(fact_300_total__onI,axiom,
    ! [A2: set_nat,R: set_Pr1986765409at_nat] :
      ( ! [X3: nat,Y2: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ( member_nat @ Y2 @ A2 )
           => ( ( X3 != Y2 )
             => ( ( member701585322at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R )
                | ( member701585322at_nat @ ( product_Pair_nat_nat @ Y2 @ X3 ) @ R ) ) ) ) )
     => ( total_on_nat @ A2 @ R ) ) ).

% total_onI
thf(fact_301_total__on__empty,axiom,
    ! [R: set_Pr1986765409at_nat] : ( total_on_nat @ bot_bot_set_nat @ R ) ).

% total_on_empty
thf(fact_302_total__on__empty,axiom,
    ! [R: set_Pr1702239303tate_o] : ( total_795385983tate_o @ bot_bo170732493tate_o @ R ) ).

% total_on_empty
thf(fact_303_total__on__empty,axiom,
    ! [R: set_Pr1490359111at_nat] : ( total_1775715973at_nat @ bot_bo2130386637at_nat @ R ) ).

% total_on_empty
thf(fact_304_total__on__empty,axiom,
    ! [R: set_Pr778812871_state] : ( total_1316653983_state @ bot_bo1625160935_state @ R ) ).

% total_on_empty
thf(fact_305_case__prodE2,axiom,
    ! [Q: $o > $o,P: state > state > $o,Z5: produc1115495963_state] :
      ( ( Q @ ( produc789892016tate_o @ P @ Z5 ) )
     => ~ ! [X3: state,Y2: state] :
            ( ( Z5
              = ( produc64584659_state @ X3 @ Y2 ) )
           => ~ ( Q @ ( P @ X3 @ Y2 ) ) ) ) ).

% case_prodE2
thf(fact_306_case__prodE2,axiom,
    ! [Q: $o > $o,P: nat > nat > $o,Z5: product_prod_nat_nat] :
      ( ( Q @ ( produc949581770_nat_o @ P @ Z5 ) )
     => ~ ! [X3: nat,Y2: nat] :
            ( ( Z5
              = ( product_Pair_nat_nat @ X3 @ Y2 ) )
           => ~ ( Q @ ( P @ X3 @ Y2 ) ) ) ) ).

% case_prodE2
thf(fact_307_case__prod__eta,axiom,
    ! [F: produc1115495963_state > $o] :
      ( ( produc789892016tate_o
        @ ^ [X: state,Y5: state] : ( F @ ( produc64584659_state @ X @ Y5 ) ) )
      = F ) ).

% case_prod_eta
thf(fact_308_case__prod__eta,axiom,
    ! [F: product_prod_nat_nat > $o] :
      ( ( produc949581770_nat_o
        @ ^ [X: nat,Y5: nat] : ( F @ ( product_Pair_nat_nat @ X @ Y5 ) ) )
      = F ) ).

% case_prod_eta
thf(fact_309_cond__case__prod__eta,axiom,
    ! [F: state > state > $o,G: produc1115495963_state > $o] :
      ( ! [X3: state,Y2: state] :
          ( ( F @ X3 @ Y2 )
          = ( G @ ( produc64584659_state @ X3 @ Y2 ) ) )
     => ( ( produc789892016tate_o @ F )
        = G ) ) ).

% cond_case_prod_eta
thf(fact_310_cond__case__prod__eta,axiom,
    ! [F: nat > nat > $o,G: product_prod_nat_nat > $o] :
      ( ! [X3: nat,Y2: nat] :
          ( ( F @ X3 @ Y2 )
          = ( G @ ( product_Pair_nat_nat @ X3 @ Y2 ) ) )
     => ( ( produc949581770_nat_o @ F )
        = G ) ) ).

% cond_case_prod_eta
thf(fact_311_lnear__order__on__empty,axiom,
    order_130026331on_nat @ bot_bot_set_nat @ bot_bo2130386637at_nat ).

% lnear_order_on_empty
thf(fact_312_lnear__order__on__empty,axiom,
    order_286167592_state @ bot_bot_set_state @ bot_bo1625160935_state ).

% lnear_order_on_empty
thf(fact_313_lnear__order__on__empty,axiom,
    order_50454158tate_o @ bot_bo170732493tate_o @ bot_bo1714653363tate_o ).

% lnear_order_on_empty
thf(fact_314_lnear__order__on__empty,axiom,
    order_721919926at_nat @ bot_bo2130386637at_nat @ bot_bo34127283at_nat ).

% lnear_order_on_empty
thf(fact_315_lnear__order__on__empty,axiom,
    order_178668240_state @ bot_bo1625160935_state @ bot_bo1331673139_state ).

% lnear_order_on_empty
thf(fact_316_refl__on__empty,axiom,
    refl_on_nat @ bot_bot_set_nat @ bot_bo2130386637at_nat ).

% refl_on_empty
thf(fact_317_refl__on__empty,axiom,
    refl_on_state @ bot_bot_set_state @ bot_bo1625160935_state ).

% refl_on_empty
thf(fact_318_refl__on__empty,axiom,
    refl_o489021252tate_o @ bot_bo170732493tate_o @ bot_bo1714653363tate_o ).

% refl_on_empty
thf(fact_319_refl__on__empty,axiom,
    refl_o1619599232at_nat @ bot_bo2130386637at_nat @ bot_bo34127283at_nat ).

% refl_on_empty
thf(fact_320_refl__on__empty,axiom,
    refl_o1438232218_state @ bot_bo1625160935_state @ bot_bo1331673139_state ).

% refl_on_empty
thf(fact_321_split__cong,axiom,
    ! [Q5: produc1115495963_state,F: state > state > $o,G: state > state > $o,P3: produc1115495963_state] :
      ( ! [X3: state,Y2: state] :
          ( ( ( produc64584659_state @ X3 @ Y2 )
            = Q5 )
         => ( ( F @ X3 @ Y2 )
            = ( G @ X3 @ Y2 ) ) )
     => ( ( P3 = Q5 )
       => ( ( produc789892016tate_o @ F @ P3 )
          = ( produc789892016tate_o @ G @ Q5 ) ) ) ) ).

% split_cong
thf(fact_322_split__cong,axiom,
    ! [Q5: product_prod_nat_nat,F: nat > nat > $o,G: nat > nat > $o,P3: product_prod_nat_nat] :
      ( ! [X3: nat,Y2: nat] :
          ( ( ( product_Pair_nat_nat @ X3 @ Y2 )
            = Q5 )
         => ( ( F @ X3 @ Y2 )
            = ( G @ X3 @ Y2 ) ) )
     => ( ( P3 = Q5 )
       => ( ( produc949581770_nat_o @ F @ P3 )
          = ( produc949581770_nat_o @ G @ Q5 ) ) ) ) ).

% split_cong
thf(fact_323_aboveS__def,axiom,
    ( order_2027321734_state
    = ( ^ [R3: set_Pr778812871_state,A3: produc1115495963_state] :
          ( collec496201222_state
          @ ^ [B7: produc1115495963_state] :
              ( ( B7 != A3 )
              & ( member768948240_state @ ( produc1964772951_state @ A3 @ B7 ) @ R3 ) ) ) ) ) ).

% aboveS_def
thf(fact_324_aboveS__def,axiom,
    ( order_665764460at_nat
    = ( ^ [R3: set_Pr1490359111at_nat,A3: product_prod_nat_nat] :
          ( collec7649004at_nat
          @ ^ [B7: product_prod_nat_nat] :
              ( ( B7 != A3 )
              & ( member2027625872at_nat @ ( produc1168807639at_nat @ A3 @ B7 ) @ R3 ) ) ) ) ) ).

% aboveS_def
thf(fact_325_aboveS__def,axiom,
    ( order_1121016664tate_o
    = ( ^ [R3: set_Pr1702239303tate_o,A3: produc696469763tate_o] :
          ( collec1499596504tate_o
          @ ^ [B7: produc696469763tate_o] :
              ( ( B7 != A3 )
              & ( member1629320336tate_o @ ( produc1684562079tate_o @ A3 @ B7 ) @ R3 ) ) ) ) ) ).

% aboveS_def
thf(fact_326_aboveS__def,axiom,
    ( order_aboveS_state
    = ( ^ [R3: set_Pr795498619_state,A3: state] :
          ( collect_state
          @ ^ [B7: state] :
              ( ( B7 != A3 )
              & ( member1389040324_state @ ( produc64584659_state @ A3 @ B7 ) @ R3 ) ) ) ) ) ).

% aboveS_def
thf(fact_327_aboveS__def,axiom,
    ( order_aboveS_nat
    = ( ^ [R3: set_Pr1986765409at_nat,A3: nat] :
          ( collect_nat
          @ ^ [B7: nat] :
              ( ( B7 != A3 )
              & ( member701585322at_nat @ ( product_Pair_nat_nat @ A3 @ B7 ) @ R3 ) ) ) ) ) ).

% aboveS_def
thf(fact_328_internal__case__prod__def,axiom,
    produc938968666tate_o = produc789892016tate_o ).

% internal_case_prod_def
thf(fact_329_internal__case__prod__def,axiom,
    produc385877620_nat_o = produc949581770_nat_o ).

% internal_case_prod_def
thf(fact_330_mem__case__prodI2,axiom,
    ! [P3: product_prod_nat_nat,Z5: produc1115495963_state,C2: nat > nat > set_Pr795498619_state] :
      ( ! [A6: nat,B6: nat] :
          ( ( P3
            = ( product_Pair_nat_nat @ A6 @ B6 ) )
         => ( member1389040324_state @ Z5 @ ( C2 @ A6 @ B6 ) ) )
     => ( member1389040324_state @ Z5 @ ( produc1654445_state @ C2 @ P3 ) ) ) ).

% mem_case_prodI2
thf(fact_331_mem__case__prodI2,axiom,
    ! [P3: product_prod_nat_nat,Z5: product_prod_nat_nat,C2: nat > nat > set_Pr1986765409at_nat] :
      ( ! [A6: nat,B6: nat] :
          ( ( P3
            = ( product_Pair_nat_nat @ A6 @ B6 ) )
         => ( member701585322at_nat @ Z5 @ ( C2 @ A6 @ B6 ) ) )
     => ( member701585322at_nat @ Z5 @ ( produc1915186323at_nat @ C2 @ P3 ) ) ) ).

% mem_case_prodI2
thf(fact_332_mem__case__prodI2,axiom,
    ! [P3: product_prod_nat_nat,Z5: produc696469763tate_o,C2: nat > nat > set_Pr1590995257tate_o] :
      ( ! [A6: nat,B6: nat] :
          ( ( P3
            = ( product_Pair_nat_nat @ A6 @ B6 ) )
         => ( member1838112666tate_o @ Z5 @ ( C2 @ A6 @ B6 ) ) )
     => ( member1838112666tate_o @ Z5 @ ( produc1610543495tate_o @ C2 @ P3 ) ) ) ).

% mem_case_prodI2
thf(fact_333_termi__while,axiom,
    ! [B2: state > $o,C2: com,F: nat > state,K: nat] :
      ( ( termi @ ( while @ B2 @ C2 ) @ ( F @ K ) )
     => ( ! [I: nat] : ( exec @ ( F @ I ) @ C2 @ ( F @ ( suc @ I ) ) )
       => ? [I: nat] :
            ~ ( B2 @ ( F @ I ) ) ) ) ).

% termi_while
thf(fact_334_termi__while__lemma,axiom,
    ! [W: com,Fk: state,F: nat > state,K: nat,B2: state > $o,C2: com] :
      ( ( termi @ W @ Fk )
     => ( ( ( Fk
            = ( F @ K ) )
          & ( W
            = ( while @ B2 @ C2 ) )
          & ! [I: nat] : ( exec @ ( F @ I ) @ C2 @ ( F @ ( suc @ I ) ) ) )
       => ? [I: nat] :
            ~ ( B2 @ ( F @ I ) ) ) ) ).

% termi_while_lemma
thf(fact_335_execn_Ointros_I7_J,axiom,
    ! [S2: state,N: nat,T2: state] :
      ( ( execn @ S2 @ body @ N @ T2 )
     => ( execn @ S2 @ call @ ( suc @ N ) @ T2 ) ) ).

% execn.intros(7)
thf(fact_336_pred__nat__def,axiom,
    ( pred_nat
    = ( collec7649004at_nat
      @ ( produc949581770_nat_o
        @ ^ [M: nat,N2: nat] :
            ( N2
            = ( suc @ M ) ) ) ) ) ).

% pred_nat_def
thf(fact_337_while__rule,axiom,
    ! [S2: state,B2: state > $o,C2: com,N: nat,T2: state,P: state > $o] :
      ( ( execn @ S2 @ ( while @ B2 @ C2 ) @ N @ T2 )
     => ( ( P @ S2 )
       => ( ! [S: state,S3: state] :
              ( ( P @ S )
             => ( ( B2 @ S )
               => ( ( execn @ S @ C2 @ N @ S3 )
                 => ( P @ S3 ) ) ) )
         => ( ( P @ T2 )
            & ~ ( B2 @ T2 ) ) ) ) ) ).

% while_rule
thf(fact_338_while__lemma,axiom,
    ! [S2: state,W: com,N: nat,T2: state,B2: state > $o,C2: com,P: state > $o] :
      ( ( execn @ S2 @ W @ N @ T2 )
     => ( ( ( W
            = ( while @ B2 @ C2 ) )
          & ( P @ S2 )
          & ! [S: state,S3: state] :
              ( ( ( P @ S )
                & ( B2 @ S )
                & ( execn @ S @ C2 @ N @ S3 ) )
             => ( P @ S3 ) ) )
       => ( ( P @ T2 )
          & ~ ( B2 @ T2 ) ) ) ) ).

% while_lemma
thf(fact_339_execn_OWhileTrue,axiom,
    ! [B2: state > $o,S2: state,C2: com,N: nat,T2: state,U2: state] :
      ( ( B2 @ S2 )
     => ( ( execn @ S2 @ C2 @ N @ T2 )
       => ( ( execn @ T2 @ ( while @ B2 @ C2 ) @ N @ U2 )
         => ( execn @ S2 @ ( while @ B2 @ C2 ) @ N @ U2 ) ) ) ) ).

% execn.WhileTrue
thf(fact_340_execn_OWhileFalse,axiom,
    ! [B2: state > $o,S2: state,C2: com,N: nat] :
      ( ~ ( B2 @ S2 )
     => ( execn @ S2 @ ( while @ B2 @ C2 ) @ N @ S2 ) ) ).

% execn.WhileFalse
thf(fact_341_exec__iff__execn,axiom,
    ( exec
    = ( ^ [S4: state,C5: com,T3: state] :
        ? [N2: nat] : ( execn @ S4 @ C5 @ N2 @ T3 ) ) ) ).

% exec_iff_execn
thf(fact_342_wf__pred__nat,axiom,
    wf_nat @ pred_nat ).

% wf_pred_nat
thf(fact_343_termi_OSemi,axiom,
    ! [C1: com,S0: state,C22: com] :
      ( ( termi @ C1 @ S0 )
     => ( ! [S1: state] :
            ( ( exec @ S0 @ C1 @ S1 )
           => ( termi @ C22 @ S1 ) )
       => ( termi @ ( semi @ C1 @ C22 ) @ S0 ) ) ) ).

% termi.Semi
thf(fact_344_com_Oinject_I2_J,axiom,
    ! [X21: com,X222: com,Y21: com,Y222: com] :
      ( ( ( semi @ X21 @ X222 )
        = ( semi @ Y21 @ Y222 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y222 ) ) ) ).

% com.inject(2)
thf(fact_345_execn_Ointros_I2_J,axiom,
    ! [S0: state,C1: com,N: nat,S12: state,C22: com,S22: state] :
      ( ( execn @ S0 @ C1 @ N @ S12 )
     => ( ( execn @ S12 @ C22 @ N @ S22 )
       => ( execn @ S0 @ ( semi @ C1 @ C22 ) @ N @ S22 ) ) ) ).

% execn.intros(2)
thf(fact_346_com_Odistinct_I13_J,axiom,
    ! [X21: com,X222: com,X41: state > $o,X42: com] :
      ( ( semi @ X21 @ X222 )
     != ( while @ X41 @ X42 ) ) ).

% com.distinct(13)
thf(fact_347_com_Odistinct_I15_J,axiom,
    ! [X21: com,X222: com] :
      ( ( semi @ X21 @ X222 )
     != call ) ).

% com.distinct(15)
thf(fact_348_exec_OSemi,axiom,
    ! [S0: state,C1: com,S12: state,C22: com,S22: state] :
      ( ( exec @ S0 @ C1 @ S12 )
     => ( ( exec @ S12 @ C22 @ S22 )
       => ( exec @ S0 @ ( semi @ C1 @ C22 ) @ S22 ) ) ) ).

% exec.Semi
thf(fact_349_wf__less__than,axiom,
    wf_nat @ less_than ).

% wf_less_than
thf(fact_350_total__on__less__than,axiom,
    ! [A2: set_nat] : ( total_on_nat @ A2 @ less_than ) ).

% total_on_less_than
thf(fact_351_irrefl__less__than,axiom,
    irrefl_nat @ less_than ).

% irrefl_less_than
thf(fact_352_trans__less__than,axiom,
    trans_nat @ less_than ).

% trans_less_than
thf(fact_353_less__than__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( member701585322at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ less_than )
      = ( ord_less_nat @ X2 @ Y3 ) ) ).

% less_than_iff

% Conjectures (3)
thf(conj_0,hypothesis,
    ! [S6: state] :
      ( ( pHoare382919414oare_a
        @ ( insert2053719859tate_o
          @ ( produc33908149tate_o
            @ ^ [Z4: a,S4: state] :
                ( ( pa @ Z4 @ S4 )
                & ( member1389040324_state @ ( produc64584659_state @ S4 @ S6 ) @ r ) )
            @ ( produc1948644831tate_o @ call @ qa ) )
          @ bot_bo170732493tate_o )
        @ ^ [Z4: a,S4: state] :
            ( ( pa @ Z4 @ S4 )
            & ( S4 = S6 ) )
        @ body
        @ qa )
      & ( ( ! [S: state,T: state] :
              ( ( exec @ S @ body @ T )
             => ! [Z: a] :
                  ( ( ( pa @ Z @ S )
                    & ( member1389040324_state @ ( produc64584659_state @ S @ S6 ) @ r ) )
                 => ( qa @ Z @ T ) ) )
          & ! [Z: a,S: state] :
              ( ( ( pa @ Z @ S )
                & ( member1389040324_state @ ( produc64584659_state @ S @ S6 ) @ r ) )
             => ( termi @ body @ S ) ) )
       => ( ! [S7: state,T4: state] :
              ( ( exec @ S7 @ body @ T4 )
             => ! [Z2: a] :
                  ( ( ( pa @ Z2 @ S7 )
                    & ( S7 = S6 ) )
                 => ( qa @ Z2 @ T4 ) ) )
          & ! [Z2: a,S7: state] :
              ( ( ( pa @ Z2 @ S7 )
                & ( S7 = S6 ) )
             => ( termi @ body @ S7 ) ) ) ) ) ).

thf(conj_1,hypothesis,
    ! [Y4: state] :
      ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ x ) @ r )
     => ( ! [S7: state,T4: state] :
            ( ( exec @ S7 @ body @ T4 )
           => ! [Z2: a] :
                ( ( ( pa @ Z2 @ S7 )
                  & ( S7 = Y4 ) )
               => ( qa @ Z2 @ T4 ) ) )
        & ! [Z2: a,S7: state] :
            ( ( ( pa @ Z2 @ S7 )
              & ( S7 = Y4 ) )
           => ( termi @ body @ S7 ) ) ) ) ).

thf(conj_2,conjecture,
    ( ! [S: state,T: state] :
        ( ~ ( exec @ S @ body @ T )
        | ! [Z: a] :
            ( ~ ( pa @ Z @ S )
            | ( S != x )
            | ( qa @ Z @ T ) ) )
    & ! [Z: a,S: state] :
        ( ~ ( pa @ Z @ S )
        | ( S != x )
        | ( termi @ body @ S ) ) ) ).

%------------------------------------------------------------------------------